From 1e8bf270a1842e55b6f19b78017cf7e91bfd4c8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Dvo=C5=99=C3=A1k?= <150935816+Dvorinka@users.noreply.github.com> Date: Tue, 3 Mar 2026 11:05:11 +0100 Subject: [PATCH] Delete .desloppify directory --- .desloppify/config.json | 31 - .desloppify/query.json | 742 -- .desloppify/state-typescript.json | 19962 ---------------------------- 3 files changed, 20735 deletions(-) delete mode 100644 .desloppify/config.json delete mode 100644 .desloppify/query.json delete mode 100644 .desloppify/state-typescript.json diff --git a/.desloppify/config.json b/.desloppify/config.json deleted file mode 100644 index edce870..0000000 --- a/.desloppify/config.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "languages": {}, - "review_max_age_days": 30, - "holistic_max_age_days": 30, - "generate_scorecard": true, - "badge_path": "scorecard.png", - "exclude": [], - "ignore": [ - "test_coverage::frontend/src/pages/Login.tsx", - "test_coverage::frontend/src/App.tsx" - ], - "ignore_metadata": { - "test_coverage::frontend/src/pages/Login.tsx": { - "note": "Login page - test coverage is separate effort, permanently ignore", - "added_at": "2026-02-18T13:23:38+00:00" - }, - "test_coverage::frontend/src/App.tsx": { - "note": "Main App component - test coverage is separate effort, permanently ignore", - "added_at": "2026-02-18T13:26:59+00:00" - } - }, - "zone_overrides": {}, - "review_dimensions": [], - "review_allow_custom_dimensions": false, - "review_custom_dimensions": [], - "large_files_threshold": 0, - "props_threshold": 0, - "finding_noise_budget": 10, - "finding_noise_global_budget": 0, - "target_strict_score": 95 -} diff --git a/.desloppify/query.json b/.desloppify/query.json deleted file mode 100644 index accc4ee..0000000 --- a/.desloppify/query.json +++ /dev/null @@ -1,742 +0,0 @@ -{ - "command": "status", - "overall_score": 75.0, - "objective_score": 100.0, - "strict_score": 59.3, - "strict_all_detected": 59.1, - "dimension_scores": { - "File health": { - "score": 100.0, - "strict": 87.6, - "checks": 143, - "issues": 0, - "tier": 3, - "detectors": { - "structural": { - "potential": 143, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - } - } - }, - "Code quality": { - "score": 100.0, - "strict": 67.2, - "checks": 1211, - "issues": 0, - "tier": 3, - "detectors": { - "unused": { - "potential": 143, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "logs": { - "potential": 143, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "exports": { - "potential": 305, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "deprecated": { - "potential": 2, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "props": { - "potential": 76, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "smells": { - "potential": 143, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "react": { - "potential": 14, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "orphaned": { - "potential": 146, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "flat_dirs": { - "potential": 25, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "naming": { - "potential": 23, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "facade": { - "potential": 146, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "patterns": { - "potential": 3, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "single_use": { - "potential": 42, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - } - } - }, - "Duplication": { - "score": 100.0, - "strict": 99.4, - "checks": 288, - "issues": 0, - "tier": 3, - "detectors": { - "dupes": { - "potential": 288, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - } - } - }, - "Test health": { - "score": 100.0, - "strict": 48.6, - "checks": 2246, - "issues": 0, - "tier": 4, - "detectors": { - "test_coverage": { - "potential": 2109, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "subjective_review": { - "potential": 137, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - } - } - }, - "Security": { - "score": 100.0, - "strict": 98.6, - "checks": 289, - "issues": 0, - "tier": 4, - "detectors": { - "security": { - "potential": 143, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "cycles": { - "potential": 146, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - } - } - }, - "Naming Quality": { - "score": 0.0, - "strict": 0.0, - "checks": 10, - "issues": 0, - "tier": 4, - "detectors": { - "subjective_assessment": { - "potential": 10, - "pass_rate": 0.0, - "issues": 0, - "weighted_failures": 10.0 - } - } - }, - "Error Consistency": { - "score": 0.0, - "strict": 0.0, - "checks": 10, - "issues": 0, - "tier": 4, - "detectors": { - "subjective_assessment": { - "potential": 10, - "pass_rate": 0.0, - "issues": 0, - "weighted_failures": 10.0 - } - } - }, - "Abstraction Fit": { - "score": 0.0, - "strict": 0.0, - "checks": 10, - "issues": 0, - "tier": 4, - "detectors": { - "subjective_assessment": { - "potential": 10, - "pass_rate": 0.0, - "issues": 0, - "weighted_failures": 10.0 - } - } - }, - "Logic Clarity": { - "score": 0.0, - "strict": 0.0, - "checks": 10, - "issues": 0, - "tier": 4, - "detectors": { - "subjective_assessment": { - "potential": 10, - "pass_rate": 0.0, - "issues": 0, - "weighted_failures": 10.0 - } - } - }, - "AI Generated Debt": { - "score": 0.0, - "strict": 0.0, - "checks": 10, - "issues": 0, - "tier": 4, - "detectors": { - "subjective_assessment": { - "potential": 10, - "pass_rate": 0.0, - "issues": 0, - "weighted_failures": 10.0 - } - } - }, - "Type Safety": { - "score": 0.0, - "strict": 0.0, - "checks": 10, - "issues": 0, - "tier": 4, - "detectors": { - "subjective_assessment": { - "potential": 10, - "pass_rate": 0.0, - "issues": 0, - "weighted_failures": 10.0 - } - } - }, - "Contract Coherence": { - "score": 0.0, - "strict": 0.0, - "checks": 10, - "issues": 0, - "tier": 4, - "detectors": { - "subjective_assessment": { - "potential": 10, - "pass_rate": 0.0, - "issues": 0, - "weighted_failures": 10.0 - } - } - } - }, - "stats": { - "total": 873, - "open": 0, - "fixed": 20, - "auto_resolved": 1, - "wontfix": 768, - "false_positive": 84, - "by_tier": { - "1": { - "open": 0, - "fixed": 17, - "auto_resolved": 0, - "wontfix": 8, - "false_positive": 0 - }, - "2": { - "open": 0, - "fixed": 3, - "auto_resolved": 1, - "wontfix": 376, - "false_positive": 26 - }, - "3": { - "open": 0, - "fixed": 0, - "auto_resolved": 0, - "wontfix": 245, - "false_positive": 58 - }, - "4": { - "open": 0, - "fixed": 0, - "auto_resolved": 0, - "wontfix": 139, - "false_positive": 0 - } - } - }, - "scan_count": 10, - "last_scan": "2026-02-18T13:28:26+00:00", - "by_tier": { - "1": { - "open": 0, - "fixed": 17, - "auto_resolved": 0, - "wontfix": 8, - "false_positive": 0 - }, - "2": { - "open": 0, - "fixed": 3, - "auto_resolved": 1, - "wontfix": 376, - "false_positive": 26 - }, - "3": { - "open": 0, - "fixed": 0, - "auto_resolved": 0, - "wontfix": 245, - "false_positive": 58 - }, - "4": { - "open": 0, - "fixed": 0, - "auto_resolved": 0, - "wontfix": 139, - "false_positive": 0 - } - }, - "ignores": [ - "test_coverage::frontend/src/pages/Login.tsx", - "test_coverage::frontend/src/App.tsx" - ], - "suppression": { - "last_ignored": 1, - "last_raw_findings": 853, - "last_suppressed_pct": 0.1, - "last_ignore_patterns": 2, - "recent_scans": 5, - "recent_ignored": 1, - "recent_raw_findings": 4265, - "recent_suppressed_pct": 0.0 - }, - "detector_transparency": { - "rows": [ - { - "detector": "exports", - "visible": 305, - "suppressed": 0, - "excluded": 0, - "total_detected": 305 - }, - { - "detector": "smells", - "visible": 215, - "suppressed": 0, - "excluded": 1, - "total_detected": 216 - }, - { - "detector": "subjective_review", - "visible": 138, - "suppressed": 0, - "excluded": 0, - "total_detected": 138 - }, - { - "detector": "test_coverage", - "visible": 49, - "suppressed": 1, - "excluded": 0, - "total_detected": 50 - }, - { - "detector": "structural", - "visible": 25, - "suppressed": 0, - "excluded": 0, - "total_detected": 25 - }, - { - "detector": "security", - "visible": 18, - "suppressed": 0, - "excluded": 0, - "total_detected": 18 - }, - { - "detector": "logs", - "visible": 6, - "suppressed": 0, - "excluded": 0, - "total_detected": 6 - }, - { - "detector": "dupes", - "visible": 3, - "suppressed": 0, - "excluded": 0, - "total_detected": 3 - }, - { - "detector": "deprecated", - "visible": 0, - "suppressed": 0, - "excluded": 2, - "total_detected": 2 - }, - { - "detector": "flat_dirs", - "visible": 2, - "suppressed": 0, - "excluded": 0, - "total_detected": 2 - }, - { - "detector": "unused", - "visible": 2, - "suppressed": 0, - "excluded": 0, - "total_detected": 2 - }, - { - "detector": "cycles", - "visible": 1, - "suppressed": 0, - "excluded": 0, - "total_detected": 1 - }, - { - "detector": "react", - "visible": 1, - "suppressed": 0, - "excluded": 0, - "total_detected": 1 - } - ], - "totals": { - "visible": 765, - "suppressed": 1, - "excluded": 3, - "detectors": 13 - } - }, - "potentials": { - "typescript": { - "logs": 143, - "unused": 143, - "exports": 305, - "deprecated": 2, - "structural": 143, - "flat_dirs": 25, - "props": 76, - "single_use": 42, - "coupling": 0, - "cycles": 146, - "orphaned": 146, - "patterns": 3, - "naming": 23, - "facade": 146, - "test_coverage": 2109, - "smells": 143, - "react": 14, - "security": 143, - "subjective_review": 137, - "dupes": 288 - } - }, - "codebase_metrics": { - "typescript": { - "total_files": 151, - "total_loc": 40054, - "total_directories": 25 - } - }, - "strict_target": { - "target": 95.0, - "current": 59.3, - "gap": 35.7, - "state": "below", - "warning": null - }, - "narrative": { - "phase": "stagnation", - "headline": "All T1 and T2 items cleared!", - "dimensions": { - "lowest_dimensions": [ - { - "name": "Naming Quality", - "strict": 0.0, - "issues": 0, - "impact": 0.0, - "subjective": true, - "impact_description": "re-review to improve" - }, - { - "name": "Error Consistency", - "strict": 0.0, - "issues": 0, - "impact": 0.0, - "subjective": true, - "impact_description": "re-review to improve" - }, - { - "name": "Abstraction Fit", - "strict": 0.0, - "issues": 0, - "impact": 0.0, - "subjective": true, - "impact_description": "re-review to improve" - } - ], - "biggest_gap_dimensions": [ - { - "name": "Test health", - "lenient": 100.0, - "strict": 48.6, - "gap": 51.4, - "wontfix_count": 187 - }, - { - "name": "Code quality", - "lenient": 100.0, - "strict": 67.2, - "gap": 32.8, - "wontfix_count": 534 - }, - { - "name": "File health", - "lenient": 100.0, - "strict": 87.6, - "gap": 12.4, - "wontfix_count": 25 - } - ], - "stagnant_dimensions": [ - { - "name": "File health", - "strict": 87.6, - "stuck_scans": 5 - }, - { - "name": "Code quality", - "strict": 67.2, - "stuck_scans": 5 - }, - { - "name": "Duplication", - "strict": 99.4, - "stuck_scans": 5 - }, - { - "name": "Security", - "strict": 98.6, - "stuck_scans": 5 - }, - { - "name": "Naming Quality", - "strict": 0.0, - "stuck_scans": 5 - }, - { - "name": "Error Consistency", - "strict": 0.0, - "stuck_scans": 5 - }, - { - "name": "Abstraction Fit", - "strict": 0.0, - "stuck_scans": 5 - }, - { - "name": "Logic Clarity", - "strict": 0.0, - "stuck_scans": 5 - }, - { - "name": "AI Generated Debt", - "strict": 0.0, - "stuck_scans": 5 - }, - { - "name": "Type Safety", - "strict": 0.0, - "stuck_scans": 5 - }, - { - "name": "Contract Coherence", - "strict": 0.0, - "stuck_scans": 5 - } - ] - }, - "actions": [ - { - "priority": 1, - "type": "debt_review", - "detector": null, - "description": "7.8 pts of wontfix debt \u2014 review stale decisions", - "command": "desloppify show --status wontfix", - "gap": 7.8, - "lane": "debt_review" - } - ], - "strategy": { - "fixer_leverage": { - "auto_fixable_count": 0, - "total_count": 0, - "coverage": 0.0, - "impact_ratio": 0.0, - "recommendation": "none" - }, - "lanes": { - "debt_review": { - "actions": [ - 1 - ], - "file_count": 0, - "total_impact": 0.0, - "automation": "manual", - "run_first": false - } - }, - "can_parallelize": false, - "hint": "Try a different dimension to break the plateau." - }, - "tools": { - "fixers": [], - "move": { - "available": true, - "relevant": false, - "reason": null, - "usage": "desloppify move [--dry-run]" - }, - "plan": { - "command": "desloppify plan", - "description": "Generate prioritized markdown cleanup plan" - }, - "badge": { - "generated": true, - "in_readme": true, - "path": "scorecard.png", - "recommendation": null - } - }, - "debt": { - "overall_gap": 7.8, - "wontfix_count": 768, - "worst_dimension": "Test health", - "worst_gap": 51.4, - "trend": "stable" - }, - "milestone": "All T1 and T2 items cleared!", - "primary_action": { - "priority": 1, - "type": "debt_review", - "detector": null, - "command": "desloppify show --status wontfix", - "description": "7.8 pts of wontfix debt \u2014 review stale decisions", - "impact": null, - "lane": "debt_review", - "count": null - }, - "why_now": "Progress is plateaued, so the top action is the best chance to break the plateau.", - "verification_step": { - "command": "desloppify show --status wontfix", - "reason": "Re-check stale wontfix decisions before treating strict score as stable.", - "success_signal": "Wontfix list reflects only intentional and still-valid exceptions." - }, - "risk_flags": [ - { - "type": "wontfix_gap", - "severity": "medium", - "message": "7.8 strict-score points are masked by wontfix debt (768 items).", - "command": "desloppify show --status wontfix" - } - ], - "strict_target": { - "target": 95.0, - "current": 59.3, - "gap": 35.7, - "state": "below", - "warning": null - }, - "reminders": [], - "reminder_history": { - "report_scores": 10, - "auto_fixers_available": 3, - "dry_run_first": 3, - "zone_classification": 3, - "feedback_nudge": 3, - "stagnant_nudge": 10, - "fp_calibration_security_production": 3, - "wontfix_growing": 3, - "fp_calibration_orphaned_production": 3 - } - }, - "config": { - "review_max_age_days": 30, - "holistic_max_age_days": 30, - "generate_scorecard": true, - "badge_path": "scorecard.png", - "exclude": [], - "ignore": [ - "test_coverage::frontend/src/pages/Login.tsx", - "test_coverage::frontend/src/App.tsx" - ], - "ignore_metadata": { - "test_coverage::frontend/src/pages/Login.tsx": { - "note": "Login page - test coverage is separate effort, permanently ignore", - "added_at": "2026-02-18T13:23:38+00:00" - }, - "test_coverage::frontend/src/App.tsx": { - "note": "Main App component - test coverage is separate effort, permanently ignore", - "added_at": "2026-02-18T13:26:59+00:00" - } - }, - "zone_overrides": {}, - "review_dimensions": [], - "review_allow_custom_dimensions": false, - "review_custom_dimensions": [], - "large_files_threshold": 0, - "props_threshold": 0, - "finding_noise_budget": 10, - "finding_noise_global_budget": 0, - "target_strict_score": 95, - "languages": {} - } -} diff --git a/.desloppify/state-typescript.json b/.desloppify/state-typescript.json deleted file mode 100644 index 6918ffe..0000000 --- a/.desloppify/state-typescript.json +++ /dev/null @@ -1,19962 +0,0 @@ -{ - "version": 1, - "created": "2026-02-18T12:33:36+00:00", - "last_scan": "2026-02-18T13:28:26+00:00", - "scan_count": 10, - "overall_score": 75.0, - "objective_score": 100.0, - "strict_score": 59.3, - "stats": { - "total": 873, - "open": 0, - "fixed": 20, - "auto_resolved": 1, - "wontfix": 768, - "false_positive": 84, - "by_tier": { - "1": { - "open": 0, - "fixed": 17, - "auto_resolved": 0, - "wontfix": 8, - "false_positive": 0 - }, - "2": { - "open": 0, - "fixed": 3, - "auto_resolved": 1, - "wontfix": 376, - "false_positive": 26 - }, - "3": { - "open": 0, - "fixed": 0, - "auto_resolved": 0, - "wontfix": 245, - "false_positive": 58 - }, - "4": { - "open": 0, - "fixed": 0, - "auto_resolved": 0, - "wontfix": 139, - "false_positive": 0 - } - } - }, - "findings": { - "logs::frontend/src/components/ProtectedRoute.tsx::ProtectedRoute": { - "id": "logs::frontend/src/components/ProtectedRoute.tsx::ProtectedRoute", - "detector": "logs", - "file": "frontend/src/components/ProtectedRoute.tsx", - "tier": 1, - "confidence": "high", - "summary": "4 tagged logs [ProtectedRoute]", - "detail": { - "count": 4, - "lines": [ - 12, - 18, - 26, - 30 - ] - }, - "status": "wontfix", - "note": "Intentional debug logging with tags for development tracing", - "first_seen": "2026-02-18T12:33:36+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:38:43+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "logs::frontend/src/components/search/BrowserSearch.tsx::BrowserSearch": { - "id": "logs::frontend/src/components/search/BrowserSearch.tsx::BrowserSearch", - "detector": "logs", - "file": "frontend/src/components/search/BrowserSearch.tsx", - "tier": 1, - "confidence": "high", - "summary": "1 tagged logs [BrowserSearch]", - "detail": { - "count": 1, - "lines": [ - 46 - ] - }, - "status": "wontfix", - "note": "Intentional debug logging with tags for development tracing", - "first_seen": "2026-02-18T12:33:36+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:38:43+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "logs::frontend/src/lib/auth.tsx::Auth": { - "id": "logs::frontend/src/lib/auth.tsx::Auth", - "detector": "logs", - "file": "frontend/src/lib/auth.tsx", - "tier": 1, - "confidence": "high", - "summary": "8 tagged logs [Auth]", - "detail": { - "count": 8, - "lines": [ - 75, - 79, - 90, - 109, - 118, - 161, - 172, - 180 - ] - }, - "status": "wontfix", - "note": "Intentional debug logging with tags for development tracing", - "first_seen": "2026-02-18T12:33:36+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:38:43+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "logs::frontend/src/lib/demo-mode.ts::Demo Mode": { - "id": "logs::frontend/src/lib/demo-mode.ts::Demo Mode", - "detector": "logs", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 1, - "confidence": "high", - "summary": "8 tagged logs [Demo Mode]", - "detail": { - "count": 8, - "lines": [ - 8, - 23, - 228, - 233, - 262, - 275, - 278, - 723 - ] - }, - "status": "wontfix", - "note": "Intentional debug logging with tags for development tracing", - "first_seen": "2026-02-18T12:33:36+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:38:43+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "logs::frontend/src/services/updateService.ts::Demo Mode": { - "id": "logs::frontend/src/services/updateService.ts::Demo Mode", - "detector": "logs", - "file": "frontend/src/services/updateService.ts", - "tier": 1, - "confidence": "high", - "summary": "3 tagged logs [Demo Mode]", - "detail": { - "count": 3, - "lines": [ - 41, - 93, - 125 - ] - }, - "status": "wontfix", - "note": "Intentional debug logging with tags for development tracing", - "first_seen": "2026-02-18T12:33:36+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:38:43+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "logs::frontend/src/services/updateService.ts::Real Mode": { - "id": "logs::frontend/src/services/updateService.ts::Real Mode", - "detector": "logs", - "file": "frontend/src/services/updateService.ts", - "tier": 1, - "confidence": "high", - "summary": "1 tagged logs [Real Mode]", - "detail": { - "count": 1, - "lines": [ - 60 - ] - }, - "status": "wontfix", - "note": "Intentional debug logging with tags for development tracing", - "first_seen": "2026-02-18T12:33:36+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:38:43+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/navigation/AppNavigator.tsx::NavigationContainer": { - "id": "unused::Others/mobile-app/src/navigation/AppNavigator.tsx::NavigationContainer", - "detector": "unused", - "file": "Others/mobile-app/src/navigation/AppNavigator.tsx", - "tier": 1, - "confidence": "high", - "summary": "Unused imports: NavigationContainer", - "detail": { - "line": 2, - "category": "imports" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:34:00+00:00", - "resolved_at": "2026-02-18T12:42:50+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/navigation/TabNavigator.tsx::createNativeStackNavigator": { - "id": "unused::Others/mobile-app/src/navigation/TabNavigator.tsx::createNativeStackNavigator", - "detector": "unused", - "file": "Others/mobile-app/src/navigation/TabNavigator.tsx", - "tier": 1, - "confidence": "high", - "summary": "Unused imports: createNativeStackNavigator", - "detail": { - "line": 3, - "category": "imports" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:34:00+00:00", - "resolved_at": "2026-02-18T12:42:50+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/navigation/TabNavigator.tsx::isOnline": { - "id": "unused::Others/mobile-app/src/navigation/TabNavigator.tsx::isOnline", - "detector": "unused", - "file": "Others/mobile-app/src/navigation/TabNavigator.tsx", - "tier": 2, - "confidence": "high", - "summary": "Unused vars: isOnline", - "detail": { - "line": 30, - "category": "vars" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:43:40+00:00", - "resolved_at": "2026-02-18T12:54:52+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/navigation/TabNavigator.tsx::getTabBarIcon": { - "id": "unused::Others/mobile-app/src/navigation/TabNavigator.tsx::getTabBarIcon", - "detector": "unused", - "file": "Others/mobile-app/src/navigation/TabNavigator.tsx", - "tier": 2, - "confidence": "high", - "summary": "Unused vars: getTabBarIcon", - "detail": { - "line": 33, - "category": "vars" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:43:40+00:00", - "resolved_at": "2026-02-18T12:54:52+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/screens/AIAssistantScreen.tsx::Card": { - "id": "unused::Others/mobile-app/src/screens/AIAssistantScreen.tsx::Card", - "detector": "unused", - "file": "Others/mobile-app/src/screens/AIAssistantScreen.tsx", - "tier": 1, - "confidence": "high", - "summary": "Unused imports: Card", - "detail": { - "line": 11, - "category": "imports" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:34:00+00:00", - "resolved_at": "2026-02-18T12:42:50+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/screens/AIAssistantScreen.tsx::FAB": { - "id": "unused::Others/mobile-app/src/screens/AIAssistantScreen.tsx::FAB", - "detector": "unused", - "file": "Others/mobile-app/src/screens/AIAssistantScreen.tsx", - "tier": 1, - "confidence": "high", - "summary": "Unused imports: FAB", - "detail": { - "line": 16, - "category": "imports" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:34:00+00:00", - "resolved_at": "2026-02-18T12:42:50+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/screens/AIAssistantScreen.tsx::IconButton": { - "id": "unused::Others/mobile-app/src/screens/AIAssistantScreen.tsx::IconButton", - "detector": "unused", - "file": "Others/mobile-app/src/screens/AIAssistantScreen.tsx", - "tier": 1, - "confidence": "high", - "summary": "Unused imports: IconButton", - "detail": { - "line": 17, - "category": "imports" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:34:00+00:00", - "resolved_at": "2026-02-18T12:42:50+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/screens/AIAssistantScreen.tsx::Divider": { - "id": "unused::Others/mobile-app/src/screens/AIAssistantScreen.tsx::Divider", - "detector": "unused", - "file": "Others/mobile-app/src/screens/AIAssistantScreen.tsx", - "tier": 1, - "confidence": "high", - "summary": "Unused imports: Divider", - "detail": { - "line": 20, - "category": "imports" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:34:00+00:00", - "resolved_at": "2026-02-18T12:42:50+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/screens/ServerSetupScreen.tsx::Text": { - "id": "unused::Others/mobile-app/src/screens/ServerSetupScreen.tsx::Text", - "detector": "unused", - "file": "Others/mobile-app/src/screens/ServerSetupScreen.tsx", - "tier": 1, - "confidence": "high", - "summary": "Unused imports: Text", - "detail": { - "line": 10, - "category": "imports" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:34:00+00:00", - "resolved_at": "2026-02-18T12:42:50+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/screens/ServerSetupScreen.tsx::ActivityIndicator": { - "id": "unused::Others/mobile-app/src/screens/ServerSetupScreen.tsx::ActivityIndicator", - "detector": "unused", - "file": "Others/mobile-app/src/screens/ServerSetupScreen.tsx", - "tier": 1, - "confidence": "high", - "summary": "Unused imports: ActivityIndicator", - "detail": { - "line": 16, - "category": "imports" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:34:00+00:00", - "resolved_at": "2026-02-18T12:42:50+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/screens/ServerSetupScreen.tsx::navigation": { - "id": "unused::Others/mobile-app/src/screens/ServerSetupScreen.tsx::navigation", - "detector": "unused", - "file": "Others/mobile-app/src/screens/ServerSetupScreen.tsx", - "tier": 2, - "confidence": "high", - "summary": "Unused vars: navigation", - "detail": { - "line": 38, - "category": "vars" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:43:40+00:00", - "resolved_at": "2026-02-18T12:54:52+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/screens/auth/RegisterScreen.tsx::Text": { - "id": "unused::Others/mobile-app/src/screens/auth/RegisterScreen.tsx::Text", - "detector": "unused", - "file": "Others/mobile-app/src/screens/auth/RegisterScreen.tsx", - "tier": 1, - "confidence": "high", - "summary": "Unused imports: Text", - "detail": { - "line": 12, - "category": "imports" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:34:00+00:00", - "resolved_at": "2026-02-18T12:42:50+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/services/CameraContext.tsx::View": { - "id": "unused::Others/mobile-app/src/services/CameraContext.tsx::View", - "detector": "unused", - "file": "Others/mobile-app/src/services/CameraContext.tsx", - "tier": 1, - "confidence": "high", - "summary": "Unused imports: View", - "detail": { - "line": 2, - "category": "imports" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:43:40+00:00", - "resolved_at": "2026-02-18T12:54:52+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/services/CameraContext.tsx::Camera": { - "id": "unused::Others/mobile-app/src/services/CameraContext.tsx::Camera", - "detector": "unused", - "file": "Others/mobile-app/src/services/CameraContext.tsx", - "tier": 1, - "confidence": "high", - "summary": "Unused imports: Camera", - "detail": { - "line": 3, - "category": "imports" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:34:00+00:00", - "resolved_at": "2026-02-18T12:42:50+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/services/NotificationContext.tsx::PermissionsAndroid": { - "id": "unused::Others/mobile-app/src/services/NotificationContext.tsx::PermissionsAndroid", - "detector": "unused", - "file": "Others/mobile-app/src/services/NotificationContext.tsx", - "tier": 1, - "confidence": "high", - "summary": "Unused imports: PermissionsAndroid", - "detail": { - "line": 3, - "category": "imports" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:43:40+00:00", - "resolved_at": "2026-02-18T12:54:52+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/services/RealtimeSyncContext.tsx::useCallback": { - "id": "unused::Others/mobile-app/src/services/RealtimeSyncContext.tsx::useCallback", - "detector": "unused", - "file": "Others/mobile-app/src/services/RealtimeSyncContext.tsx", - "tier": 1, - "confidence": "high", - "summary": "Unused imports: useCallback", - "detail": { - "line": 1, - "category": "imports" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:43:40+00:00", - "resolved_at": "2026-02-18T12:54:52+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/services/RealtimeSyncContext.tsx::NetInfoState": { - "id": "unused::Others/mobile-app/src/services/RealtimeSyncContext.tsx::NetInfoState", - "detector": "unused", - "file": "Others/mobile-app/src/services/RealtimeSyncContext.tsx", - "tier": 1, - "confidence": "high", - "summary": "Unused imports: NetInfoState", - "detail": { - "line": 2, - "category": "imports" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:43:40+00:00", - "resolved_at": "2026-02-18T12:54:52+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/services/VoiceContext.tsx::PermissionsAndroid": { - "id": "unused::Others/mobile-app/src/services/VoiceContext.tsx::PermissionsAndroid", - "detector": "unused", - "file": "Others/mobile-app/src/services/VoiceContext.tsx", - "tier": 1, - "confidence": "high", - "summary": "Unused imports: PermissionsAndroid", - "detail": { - "line": 2, - "category": "imports" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:43:40+00:00", - "resolved_at": "2026-02-18T12:54:52+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/services/VoiceContext.tsx::recordingPath": { - "id": "unused::Others/mobile-app/src/services/VoiceContext.tsx::recordingPath", - "detector": "unused", - "file": "Others/mobile-app/src/services/VoiceContext.tsx", - "tier": 2, - "confidence": "high", - "summary": "Unused vars: recordingPath", - "detail": { - "line": 157, - "category": "vars" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:57:39+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/services/api.ts::useServerConfig": { - "id": "unused::Others/mobile-app/src/services/api.ts::useServerConfig", - "detector": "unused", - "file": "Others/mobile-app/src/services/api.ts", - "tier": 1, - "confidence": "high", - "summary": "Unused imports: useServerConfig", - "detail": { - "line": 4, - "category": "imports" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:43:40+00:00", - "resolved_at": "2026-02-18T12:54:52+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/mobile-app/src/utils/offlineSync.ts::authAPI": { - "id": "unused::Others/mobile-app/src/utils/offlineSync.ts::authAPI", - "detector": "unused", - "file": "Others/mobile-app/src/utils/offlineSync.ts", - "tier": 1, - "confidence": "high", - "summary": "Unused imports: authAPI", - "detail": { - "line": 2, - "category": "imports" - }, - "status": "fixed", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T12:43:40+00:00", - "resolved_at": "2026-02-18T12:54:52+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/oauth-service/src/components/CourseManagement.tsx::instances": { - "id": "unused::Others/oauth-service/src/components/CourseManagement.tsx::instances", - "detector": "unused", - "file": "Others/oauth-service/src/components/CourseManagement.tsx", - "tier": 2, - "confidence": "high", - "summary": "Unused vars: instances", - "detail": { - "line": 46, - "category": "vars" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:57:39+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/oauth-service/src/components/Dashboard.tsx::formatDate": { - "id": "unused::Others/oauth-service/src/components/Dashboard.tsx::formatDate", - "detector": "unused", - "file": "Others/oauth-service/src/components/Dashboard.tsx", - "tier": 2, - "confidence": "high", - "summary": "Unused vars: formatDate", - "detail": { - "line": 85, - "category": "vars" - }, - "status": "wontfix", - "note": "Unused helper functions - may be useful for future development", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:57:38+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "unused::Others/oauth-service/src/components/Dashboard.tsx::getDifficultyColor": { - "id": "unused::Others/oauth-service/src/components/Dashboard.tsx::getDifficultyColor", - "detector": "unused", - "file": "Others/oauth-service/src/components/Dashboard.tsx", - "tier": 2, - "confidence": "high", - "summary": "Unused vars: getDifficultyColor", - "detail": { - "line": 91, - "category": "vars" - }, - "status": "wontfix", - "note": "Unused helper functions - may be useful for future development", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:57:38+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/navigation/AppNavigator.tsx::RootStackParamList": { - "id": "exports::Others/mobile-app/src/navigation/AppNavigator.tsx::RootStackParamList", - "detector": "exports", - "file": "Others/mobile-app/src/navigation/AppNavigator.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: RootStackParamList", - "detail": { - "line": 10, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/navigation/AuthNavigator.tsx::AuthStackParamList": { - "id": "exports::Others/mobile-app/src/navigation/AuthNavigator.tsx::AuthStackParamList", - "detector": "exports", - "file": "Others/mobile-app/src/navigation/AuthNavigator.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: AuthStackParamList", - "detail": { - "line": 6, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/navigation/TabNavigator.tsx::MainTabParamList": { - "id": "exports::Others/mobile-app/src/navigation/TabNavigator.tsx::MainTabParamList", - "detector": "exports", - "file": "Others/mobile-app/src/navigation/TabNavigator.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: MainTabParamList", - "detail": { - "line": 16, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/AuthContext.tsx::AuthProvider": { - "id": "exports::Others/mobile-app/src/services/AuthContext.tsx::AuthProvider", - "detector": "exports", - "file": "Others/mobile-app/src/services/AuthContext.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: AuthProvider", - "detail": { - "line": 20, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/AuthContext.tsx::useAuth": { - "id": "exports::Others/mobile-app/src/services/AuthContext.tsx::useAuth", - "detector": "exports", - "file": "Others/mobile-app/src/services/AuthContext.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: useAuth", - "detail": { - "line": 191, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/CameraContext.tsx::CameraProvider": { - "id": "exports::Others/mobile-app/src/services/CameraContext.tsx::CameraProvider", - "detector": "exports", - "file": "Others/mobile-app/src/services/CameraContext.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: CameraProvider", - "detail": { - "line": 23, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/CameraContext.tsx::useCamera": { - "id": "exports::Others/mobile-app/src/services/CameraContext.tsx::useCamera", - "detector": "exports", - "file": "Others/mobile-app/src/services/CameraContext.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: useCamera", - "detail": { - "line": 130, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/NotificationContext.tsx::NotificationProvider": { - "id": "exports::Others/mobile-app/src/services/NotificationContext.tsx::NotificationProvider", - "detector": "exports", - "file": "Others/mobile-app/src/services/NotificationContext.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: NotificationProvider", - "detail": { - "line": 30, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/NotificationContext.tsx::useNotifications": { - "id": "exports::Others/mobile-app/src/services/NotificationContext.tsx::useNotifications", - "detector": "exports", - "file": "Others/mobile-app/src/services/NotificationContext.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: useNotifications", - "detail": { - "line": 169, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/OfflineContext.tsx::OfflineProvider": { - "id": "exports::Others/mobile-app/src/services/OfflineContext.tsx::OfflineProvider", - "detector": "exports", - "file": "Others/mobile-app/src/services/OfflineContext.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: OfflineProvider", - "detail": { - "line": 18, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/OfflineContext.tsx::useOffline": { - "id": "exports::Others/mobile-app/src/services/OfflineContext.tsx::useOffline", - "detector": "exports", - "file": "Others/mobile-app/src/services/OfflineContext.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: useOffline", - "detail": { - "line": 109, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/RealtimeSyncContext.tsx::RealtimeSyncProvider": { - "id": "exports::Others/mobile-app/src/services/RealtimeSyncContext.tsx::RealtimeSyncProvider", - "detector": "exports", - "file": "Others/mobile-app/src/services/RealtimeSyncContext.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: RealtimeSyncProvider", - "detail": { - "line": 36, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/RealtimeSyncContext.tsx::useRealtimeSync": { - "id": "exports::Others/mobile-app/src/services/RealtimeSyncContext.tsx::useRealtimeSync", - "detector": "exports", - "file": "Others/mobile-app/src/services/RealtimeSyncContext.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: useRealtimeSync", - "detail": { - "line": 263, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/RealtimeSyncContext.tsx::useRealtimeUpdates": { - "id": "exports::Others/mobile-app/src/services/RealtimeSyncContext.tsx::useRealtimeUpdates", - "detector": "exports", - "file": "Others/mobile-app/src/services/RealtimeSyncContext.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: useRealtimeUpdates", - "detail": { - "line": 272, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/ServerConfigContext.tsx::ServerConfigProvider": { - "id": "exports::Others/mobile-app/src/services/ServerConfigContext.tsx::ServerConfigProvider", - "detector": "exports", - "file": "Others/mobile-app/src/services/ServerConfigContext.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: ServerConfigProvider", - "detail": { - "line": 26, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/ServerConfigContext.tsx::useServerConfig": { - "id": "exports::Others/mobile-app/src/services/ServerConfigContext.tsx::useServerConfig", - "detector": "exports", - "file": "Others/mobile-app/src/services/ServerConfigContext.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: useServerConfig", - "detail": { - "line": 83, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/VoiceContext.tsx::VoiceProvider": { - "id": "exports::Others/mobile-app/src/services/VoiceContext.tsx::VoiceProvider", - "detector": "exports", - "file": "Others/mobile-app/src/services/VoiceContext.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: VoiceProvider", - "detail": { - "line": 32, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/VoiceContext.tsx::useVoice": { - "id": "exports::Others/mobile-app/src/services/VoiceContext.tsx::useVoice", - "detector": "exports", - "file": "Others/mobile-app/src/services/VoiceContext.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: useVoice", - "detail": { - "line": 202, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/api.ts::updateAPIBaseURL": { - "id": "exports::Others/mobile-app/src/services/api.ts::updateAPIBaseURL", - "detector": "exports", - "file": "Others/mobile-app/src/services/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: updateAPIBaseURL", - "detail": { - "line": 81, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/api.ts::authAPI": { - "id": "exports::Others/mobile-app/src/services/api.ts::authAPI", - "detector": "exports", - "file": "Others/mobile-app/src/services/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: authAPI", - "detail": { - "line": 85, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/api.ts::bookmarksAPI": { - "id": "exports::Others/mobile-app/src/services/api.ts::bookmarksAPI", - "detector": "exports", - "file": "Others/mobile-app/src/services/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: bookmarksAPI", - "detail": { - "line": 118, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/api.ts::tasksAPI": { - "id": "exports::Others/mobile-app/src/services/api.ts::tasksAPI", - "detector": "exports", - "file": "Others/mobile-app/src/services/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: tasksAPI", - "detail": { - "line": 151, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/api.ts::notesAPI": { - "id": "exports::Others/mobile-app/src/services/api.ts::notesAPI", - "detector": "exports", - "file": "Others/mobile-app/src/services/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: notesAPI", - "detail": { - "line": 184, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/api.ts::timeEntriesAPI": { - "id": "exports::Others/mobile-app/src/services/api.ts::timeEntriesAPI", - "detector": "exports", - "file": "Others/mobile-app/src/services/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: timeEntriesAPI", - "detail": { - "line": 217, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/api.ts::searchAPI": { - "id": "exports::Others/mobile-app/src/services/api.ts::searchAPI", - "detector": "exports", - "file": "Others/mobile-app/src/services/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: searchAPI", - "detail": { - "line": 250, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/services/api.ts::calendarAPI": { - "id": "exports::Others/mobile-app/src/services/api.ts::calendarAPI", - "detector": "exports", - "file": "Others/mobile-app/src/services/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: calendarAPI", - "detail": { - "line": 290, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/notifications.ts::NotificationUtils": { - "id": "exports::Others/mobile-app/src/utils/notifications.ts::NotificationUtils", - "detector": "exports", - "file": "Others/mobile-app/src/utils/notifications.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: NotificationUtils", - "detail": { - "line": 3, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/offlineSync.ts::getPendingChangesCount": { - "id": "exports::Others/mobile-app/src/utils/offlineSync.ts::getPendingChangesCount", - "detector": "exports", - "file": "Others/mobile-app/src/utils/offlineSync.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getPendingChangesCount", - "detail": { - "line": 12, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/offlineSync.ts::syncOfflineData": { - "id": "exports::Others/mobile-app/src/utils/offlineSync.ts::syncOfflineData", - "detector": "exports", - "file": "Others/mobile-app/src/utils/offlineSync.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: syncOfflineData", - "detail": { - "line": 22, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/offlineSync.ts::queueOfflineChange": { - "id": "exports::Others/mobile-app/src/utils/offlineSync.ts::queueOfflineChange", - "detector": "exports", - "file": "Others/mobile-app/src/utils/offlineSync.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: queueOfflineChange", - "detail": { - "line": 116, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/storage.ts::StoredAuthData": { - "id": "exports::Others/mobile-app/src/utils/storage.ts::StoredAuthData", - "detector": "exports", - "file": "Others/mobile-app/src/utils/storage.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: StoredAuthData", - "detail": { - "line": 17, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/storage.ts::storeAuthData": { - "id": "exports::Others/mobile-app/src/utils/storage.ts::storeAuthData", - "detector": "exports", - "file": "Others/mobile-app/src/utils/storage.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: storeAuthData", - "detail": { - "line": 22, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/storage.ts::getStoredAuthData": { - "id": "exports::Others/mobile-app/src/utils/storage.ts::getStoredAuthData", - "detector": "exports", - "file": "Others/mobile-app/src/utils/storage.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getStoredAuthData", - "detail": { - "line": 34, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/storage.ts::clearAuthData": { - "id": "exports::Others/mobile-app/src/utils/storage.ts::clearAuthData", - "detector": "exports", - "file": "Others/mobile-app/src/utils/storage.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: clearAuthData", - "detail": { - "line": 55, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/storage.ts::loadTheme": { - "id": "exports::Others/mobile-app/src/utils/storage.ts::loadTheme", - "detector": "exports", - "file": "Others/mobile-app/src/utils/storage.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: loadTheme", - "detail": { - "line": 67, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/storage.ts::saveTheme": { - "id": "exports::Others/mobile-app/src/utils/storage.ts::saveTheme", - "detector": "exports", - "file": "Others/mobile-app/src/utils/storage.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: saveTheme", - "detail": { - "line": 77, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/storage.ts::storeOfflineData": { - "id": "exports::Others/mobile-app/src/utils/storage.ts::storeOfflineData", - "detector": "exports", - "file": "Others/mobile-app/src/utils/storage.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: storeOfflineData", - "detail": { - "line": 86, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/storage.ts::getOfflineData": { - "id": "exports::Others/mobile-app/src/utils/storage.ts::getOfflineData", - "detector": "exports", - "file": "Others/mobile-app/src/utils/storage.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getOfflineData", - "detail": { - "line": 95, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/storage.ts::addOfflineChange": { - "id": "exports::Others/mobile-app/src/utils/storage.ts::addOfflineChange", - "detector": "exports", - "file": "Others/mobile-app/src/utils/storage.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: addOfflineChange", - "detail": { - "line": 105, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/storage.ts::clearOfflineChanges": { - "id": "exports::Others/mobile-app/src/utils/storage.ts::clearOfflineChanges", - "detector": "exports", - "file": "Others/mobile-app/src/utils/storage.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: clearOfflineChanges", - "detail": { - "line": 120, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/storage.ts::getPendingChangesCount": { - "id": "exports::Others/mobile-app/src/utils/storage.ts::getPendingChangesCount", - "detector": "exports", - "file": "Others/mobile-app/src/utils/storage.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getPendingChangesCount", - "detail": { - "line": 129, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/storage.ts::storeSearchHistory": { - "id": "exports::Others/mobile-app/src/utils/storage.ts::storeSearchHistory", - "detector": "exports", - "file": "Others/mobile-app/src/utils/storage.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: storeSearchHistory", - "detail": { - "line": 139, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/storage.ts::getSearchHistory": { - "id": "exports::Others/mobile-app/src/utils/storage.ts::getSearchHistory", - "detector": "exports", - "file": "Others/mobile-app/src/utils/storage.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getSearchHistory", - "detail": { - "line": 152, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/mobile-app/src/utils/storage.ts::clearAllData": { - "id": "exports::Others/mobile-app/src/utils/storage.ts::clearAllData", - "detector": "exports", - "file": "Others/mobile-app/src/utils/storage.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: clearAllData", - "detail": { - "line": 161, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/oauth-service/src/components/CourseManagement.tsx::CourseManagement": { - "id": "exports::Others/oauth-service/src/components/CourseManagement.tsx::CourseManagement", - "detector": "exports", - "file": "Others/oauth-service/src/components/CourseManagement.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: CourseManagement", - "detail": { - "line": 44, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/oauth-service/src/components/Dashboard.tsx::Dashboard": { - "id": "exports::Others/oauth-service/src/components/Dashboard.tsx::Dashboard", - "detector": "exports", - "file": "Others/oauth-service/src/components/Dashboard.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Dashboard", - "detail": { - "line": 33, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::Others/oauth-service/src/components/InstanceManagement.tsx::InstanceManagement": { - "id": "exports::Others/oauth-service/src/components/InstanceManagement.tsx::InstanceManagement", - "detector": "exports", - "file": "Others/oauth-service/src/components/InstanceManagement.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: InstanceManagement", - "detail": { - "line": 15, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/AIProviderIcon.tsx::AIProviderIcon": { - "id": "exports::frontend/src/components/AIProviderIcon.tsx::AIProviderIcon", - "detector": "exports", - "file": "frontend/src/components/AIProviderIcon.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: AIProviderIcon", - "detail": { - "line": 31, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/AuthenticationWarning.tsx::AuthenticationWarning": { - "id": "exports::frontend/src/components/AuthenticationWarning.tsx::AuthenticationWarning", - "detector": "exports", - "file": "frontend/src/components/AuthenticationWarning.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: AuthenticationWarning", - "detail": { - "line": 6, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ProtectedRoute.tsx::ProtectedRoute": { - "id": "exports::frontend/src/components/ProtectedRoute.tsx::ProtectedRoute", - "detector": "exports", - "file": "frontend/src/components/ProtectedRoute.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: ProtectedRoute", - "detail": { - "line": 9, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/TimeEntriesList.tsx::TimeEntriesList": { - "id": "exports::frontend/src/components/TimeEntriesList.tsx::TimeEntriesList", - "detector": "exports", - "file": "frontend/src/components/TimeEntriesList.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TimeEntriesList", - "detail": { - "line": 17, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/Timer.tsx::Timer": { - "id": "exports::frontend/src/components/Timer.tsx::Timer", - "detector": "exports", - "file": "frontend/src/components/Timer.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Timer", - "detail": { - "line": 26, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/TwoFactorAuth.tsx::TwoFactorAuth": { - "id": "exports::frontend/src/components/TwoFactorAuth.tsx::TwoFactorAuth", - "detector": "exports", - "file": "frontend/src/components/TwoFactorAuth.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TwoFactorAuth", - "detail": { - "line": 16, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/layout/AIChatPanel.tsx::AIChatPanel": { - "id": "exports::frontend/src/components/layout/AIChatPanel.tsx::AIChatPanel", - "detector": "exports", - "file": "frontend/src/components/layout/AIChatPanel.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: AIChatPanel", - "detail": { - "line": 26, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/layout/FloatingAI.tsx::FloatingAI": { - "id": "exports::frontend/src/components/layout/FloatingAI.tsx::FloatingAI", - "detector": "exports", - "file": "frontend/src/components/layout/FloatingAI.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: FloatingAI", - "detail": { - "line": 17, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/layout/Header.tsx::HeaderProps": { - "id": "exports::frontend/src/components/layout/Header.tsx::HeaderProps", - "detector": "exports", - "file": "frontend/src/components/layout/Header.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: HeaderProps", - "detail": { - "line": 15, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/layout/Header.tsx::Header": { - "id": "exports::frontend/src/components/layout/Header.tsx::Header", - "detector": "exports", - "file": "frontend/src/components/layout/Header.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Header", - "detail": { - "line": 21, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/layout/Layout.tsx::LayoutProps": { - "id": "exports::frontend/src/components/layout/Layout.tsx::LayoutProps", - "detector": "exports", - "file": "frontend/src/components/layout/Layout.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: LayoutProps", - "detail": { - "line": 7, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/layout/Layout.tsx::Layout": { - "id": "exports::frontend/src/components/layout/Layout.tsx::Layout", - "detector": "exports", - "file": "frontend/src/components/layout/Layout.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Layout", - "detail": { - "line": 14, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/layout/Sidebar.tsx::SidebarProps": { - "id": "exports::frontend/src/components/layout/Sidebar.tsx::SidebarProps", - "detector": "exports", - "file": "frontend/src/components/layout/Sidebar.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SidebarProps", - "detail": { - "line": 50, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/layout/Sidebar.tsx::Sidebar": { - "id": "exports::frontend/src/components/layout/Sidebar.tsx::Sidebar", - "detector": "exports", - "file": "frontend/src/components/layout/Sidebar.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Sidebar", - "detail": { - "line": 56, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/search/BrowserSearch.tsx::BrowserSearch": { - "id": "exports::frontend/src/components/search/BrowserSearch.tsx::BrowserSearch", - "detector": "exports", - "file": "frontend/src/components/search/BrowserSearch.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: BrowserSearch", - "detail": { - "line": 10, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/search/EnhancedSearch.tsx::EnhancedSearch": { - "id": "exports::frontend/src/components/search/EnhancedSearch.tsx::EnhancedSearch", - "detector": "exports", - "file": "frontend/src/components/search/EnhancedSearch.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: EnhancedSearch", - "detail": { - "line": 77, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/search/QuickSearch.tsx::QuickSearch": { - "id": "exports::frontend/src/components/search/QuickSearch.tsx::QuickSearch", - "detector": "exports", - "file": "frontend/src/components/search/QuickSearch.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: QuickSearch", - "detail": { - "line": 15, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/search/SavedSearches.tsx::SavedSearches": { - "id": "exports::frontend/src/components/search/SavedSearches.tsx::SavedSearches", - "detector": "exports", - "file": "frontend/src/components/search/SavedSearches.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SavedSearches", - "detail": { - "line": 44, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/ActivityFeed.tsx::ActivityFeed": { - "id": "exports::frontend/src/components/ui/ActivityFeed.tsx::ActivityFeed", - "detector": "exports", - "file": "frontend/src/components/ui/ActivityFeed.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: ActivityFeed", - "detail": { - "line": 38, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/BookmarkModal.tsx::BookmarkModal": { - "id": "exports::frontend/src/components/ui/BookmarkModal.tsx::BookmarkModal", - "detector": "exports", - "file": "frontend/src/components/ui/BookmarkModal.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: BookmarkModal", - "detail": { - "line": 14, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Button.tsx::ButtonProps": { - "id": "exports::frontend/src/components/ui/Button.tsx::ButtonProps", - "detector": "exports", - "file": "frontend/src/components/ui/Button.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: ButtonProps", - "detail": { - "line": 41, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Button.tsx::Button": { - "id": "exports::frontend/src/components/ui/Button.tsx::Button", - "detector": "exports", - "file": "frontend/src/components/ui/Button.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Button", - "detail": { - "line": 51, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Card.tsx::CardProps": { - "id": "exports::frontend/src/components/ui/Card.tsx::CardProps", - "detector": "exports", - "file": "frontend/src/components/ui/Card.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: CardProps", - "detail": { - "line": 4, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Card.tsx::Card": { - "id": "exports::frontend/src/components/ui/Card.tsx::Card", - "detector": "exports", - "file": "frontend/src/components/ui/Card.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Card", - "detail": { - "line": 10, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Card.tsx::CardHeader": { - "id": "exports::frontend/src/components/ui/Card.tsx::CardHeader", - "detector": "exports", - "file": "frontend/src/components/ui/Card.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: CardHeader", - "detail": { - "line": 27, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Card.tsx::CardTitle": { - "id": "exports::frontend/src/components/ui/Card.tsx::CardTitle", - "detector": "exports", - "file": "frontend/src/components/ui/Card.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: CardTitle", - "detail": { - "line": 37, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Card.tsx::CardDescription": { - "id": "exports::frontend/src/components/ui/Card.tsx::CardDescription", - "detector": "exports", - "file": "frontend/src/components/ui/Card.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: CardDescription", - "detail": { - "line": 50, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Card.tsx::CardContent": { - "id": "exports::frontend/src/components/ui/Card.tsx::CardContent", - "detector": "exports", - "file": "frontend/src/components/ui/Card.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: CardContent", - "detail": { - "line": 60, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Card.tsx::CardFooter": { - "id": "exports::frontend/src/components/ui/Card.tsx::CardFooter", - "detector": "exports", - "file": "frontend/src/components/ui/Card.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: CardFooter", - "detail": { - "line": 66, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/ColorPicker.tsx::ColorPickerProps": { - "id": "exports::frontend/src/components/ui/ColorPicker.tsx::ColorPickerProps", - "detector": "exports", - "file": "frontend/src/components/ui/ColorPicker.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: ColorPickerProps", - "detail": { - "line": 5, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/ColorPicker.tsx::ColorPicker": { - "id": "exports::frontend/src/components/ui/ColorPicker.tsx::ColorPicker", - "detector": "exports", - "file": "frontend/src/components/ui/ColorPicker.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: ColorPicker", - "detail": { - "line": 18, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/ColorSwitcherDropdown.tsx::ColorSwitcherDropdown": { - "id": "exports::frontend/src/components/ui/ColorSwitcherDropdown.tsx::ColorSwitcherDropdown", - "detector": "exports", - "file": "frontend/src/components/ui/ColorSwitcherDropdown.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: ColorSwitcherDropdown", - "detail": { - "line": 9, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/ConfirmModal.tsx::ConfirmModal": { - "id": "exports::frontend/src/components/ui/ConfirmModal.tsx::ConfirmModal", - "detector": "exports", - "file": "frontend/src/components/ui/ConfirmModal.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: ConfirmModal", - "detail": { - "line": 15, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/DatePicker.tsx::DatePickerProps": { - "id": "exports::frontend/src/components/ui/DatePicker.tsx::DatePickerProps", - "detector": "exports", - "file": "frontend/src/components/ui/DatePicker.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: DatePickerProps", - "detail": { - "line": 7, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/DatePicker.tsx::DatePicker": { - "id": "exports::frontend/src/components/ui/DatePicker.tsx::DatePicker", - "detector": "exports", - "file": "frontend/src/components/ui/DatePicker.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: DatePicker", - "detail": { - "line": 16, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/DatePicker.tsx::DateTimePickerProps": { - "id": "exports::frontend/src/components/ui/DatePicker.tsx::DateTimePickerProps", - "detector": "exports", - "file": "frontend/src/components/ui/DatePicker.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: DateTimePickerProps", - "detail": { - "line": 216, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/DatePicker.tsx::DateTimePicker": { - "id": "exports::frontend/src/components/ui/DatePicker.tsx::DateTimePicker", - "detector": "exports", - "file": "frontend/src/components/ui/DatePicker.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: DateTimePicker", - "detail": { - "line": 226, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/DateRangePicker.tsx::DateRange": { - "id": "exports::frontend/src/components/ui/DateRangePicker.tsx::DateRange", - "detector": "exports", - "file": "frontend/src/components/ui/DateRangePicker.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: DateRange", - "detail": { - "line": 7, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/DateRangePicker.tsx::DateRangePickerProps": { - "id": "exports::frontend/src/components/ui/DateRangePicker.tsx::DateRangePickerProps", - "detector": "exports", - "file": "frontend/src/components/ui/DateRangePicker.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: DateRangePickerProps", - "detail": { - "line": 12, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/DateRangePicker.tsx::DateRangePicker": { - "id": "exports::frontend/src/components/ui/DateRangePicker.tsx::DateRangePicker", - "detector": "exports", - "file": "frontend/src/components/ui/DateRangePicker.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: DateRangePicker", - "detail": { - "line": 67, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Dialog.tsx::DialogProps": { - "id": "exports::frontend/src/components/ui/Dialog.tsx::DialogProps", - "detector": "exports", - "file": "frontend/src/components/ui/Dialog.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: DialogProps", - "detail": { - "line": 4, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Dialog.tsx::DialogContentProps": { - "id": "exports::frontend/src/components/ui/Dialog.tsx::DialogContentProps", - "detector": "exports", - "file": "frontend/src/components/ui/Dialog.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: DialogContentProps", - "detail": { - "line": 9, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Dialog.tsx::DialogHeaderProps": { - "id": "exports::frontend/src/components/ui/Dialog.tsx::DialogHeaderProps", - "detector": "exports", - "file": "frontend/src/components/ui/Dialog.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: DialogHeaderProps", - "detail": { - "line": 11, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Dialog.tsx::DialogTitleProps": { - "id": "exports::frontend/src/components/ui/Dialog.tsx::DialogTitleProps", - "detector": "exports", - "file": "frontend/src/components/ui/Dialog.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: DialogTitleProps", - "detail": { - "line": 13, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Dialog.tsx::DialogDescriptionProps": { - "id": "exports::frontend/src/components/ui/Dialog.tsx::DialogDescriptionProps", - "detector": "exports", - "file": "frontend/src/components/ui/Dialog.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: DialogDescriptionProps", - "detail": { - "line": 15, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Dialog.tsx::DialogFooterProps": { - "id": "exports::frontend/src/components/ui/Dialog.tsx::DialogFooterProps", - "detector": "exports", - "file": "frontend/src/components/ui/Dialog.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: DialogFooterProps", - "detail": { - "line": 17, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/DropdownMenu.tsx::DropdownMenu": { - "id": "exports::frontend/src/components/ui/DropdownMenu.tsx::DropdownMenu", - "detector": "exports", - "file": "frontend/src/components/ui/DropdownMenu.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: DropdownMenu", - "detail": { - "line": 15, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/DropdownMenu.tsx::DropdownMenuItem": { - "id": "exports::frontend/src/components/ui/DropdownMenu.tsx::DropdownMenuItem", - "detector": "exports", - "file": "frontend/src/components/ui/DropdownMenu.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: DropdownMenuItem", - "detail": { - "line": 44, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/EditBookmarkModal.tsx::EditBookmarkModal": { - "id": "exports::frontend/src/components/ui/EditBookmarkModal.tsx::EditBookmarkModal", - "detector": "exports", - "file": "frontend/src/components/ui/EditBookmarkModal.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: EditBookmarkModal", - "detail": { - "line": 23, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/EnhancedCard.tsx::EnhancedCard": { - "id": "exports::frontend/src/components/ui/EnhancedCard.tsx::EnhancedCard", - "detector": "exports", - "file": "frontend/src/components/ui/EnhancedCard.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: EnhancedCard", - "detail": { - "line": 16, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/ErrorBoundary.tsx::ErrorBoundary": { - "id": "exports::frontend/src/components/ui/ErrorBoundary.tsx::ErrorBoundary", - "detector": "exports", - "file": "frontend/src/components/ui/ErrorBoundary.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: ErrorBoundary", - "detail": { - "line": 9, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/ExportImport.tsx::ExportImportProps": { - "id": "exports::frontend/src/components/ui/ExportImport.tsx::ExportImportProps", - "detector": "exports", - "file": "frontend/src/components/ui/ExportImport.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: ExportImportProps", - "detail": { - "line": 6, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/ExportImport.tsx::ExportImport": { - "id": "exports::frontend/src/components/ui/ExportImport.tsx::ExportImport", - "detector": "exports", - "file": "frontend/src/components/ui/ExportImport.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: ExportImport", - "detail": { - "line": 17, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/FilePreviewModal.tsx::FilePreviewModal": { - "id": "exports::frontend/src/components/ui/FilePreviewModal.tsx::FilePreviewModal", - "detector": "exports", - "file": "frontend/src/components/ui/FilePreviewModal.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: FilePreviewModal", - "detail": { - "line": 11, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/FileUpload.tsx::FileUploadProps": { - "id": "exports::frontend/src/components/ui/FileUpload.tsx::FileUploadProps", - "detector": "exports", - "file": "frontend/src/components/ui/FileUpload.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: FileUploadProps", - "detail": { - "line": 5, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/FileUpload.tsx::UploadedFile": { - "id": "exports::frontend/src/components/ui/FileUpload.tsx::UploadedFile", - "detector": "exports", - "file": "frontend/src/components/ui/FileUpload.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: UploadedFile", - "detail": { - "line": 14, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/FileUpload.tsx::FileUpload": { - "id": "exports::frontend/src/components/ui/FileUpload.tsx::FileUpload", - "detector": "exports", - "file": "frontend/src/components/ui/FileUpload.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: FileUpload", - "detail": { - "line": 33, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/FileUploadModal.tsx::FileUploadModal": { - "id": "exports::frontend/src/components/ui/FileUploadModal.tsx::FileUploadModal", - "detector": "exports", - "file": "frontend/src/components/ui/FileUploadModal.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: FileUploadModal", - "detail": { - "line": 29, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/GitHubActivity.tsx::GitHubActivity": { - "id": "exports::frontend/src/components/ui/GitHubActivity.tsx::GitHubActivity", - "detector": "exports", - "file": "frontend/src/components/ui/GitHubActivity.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: GitHubActivity", - "detail": { - "line": 43, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Input.tsx::InputProps": { - "id": "exports::frontend/src/components/ui/Input.tsx::InputProps", - "detector": "exports", - "file": "frontend/src/components/ui/Input.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: InputProps", - "detail": { - "line": 4, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Input.tsx::Input": { - "id": "exports::frontend/src/components/ui/Input.tsx::Input", - "detector": "exports", - "file": "frontend/src/components/ui/Input.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Input", - "detail": { - "line": 16, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/LearningPathModal.tsx::LearningPathModal": { - "id": "exports::frontend/src/components/ui/LearningPathModal.tsx::LearningPathModal", - "detector": "exports", - "file": "frontend/src/components/ui/LearningPathModal.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: LearningPathModal", - "detail": { - "line": 24, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/LearningPathPreviewModal.tsx::LearningPathPreviewModal": { - "id": "exports::frontend/src/components/ui/LearningPathPreviewModal.tsx::LearningPathPreviewModal", - "detector": "exports", - "file": "frontend/src/components/ui/LearningPathPreviewModal.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: LearningPathPreviewModal", - "detail": { - "line": 46, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/LoadingSpinner.tsx::LoadingSpinner": { - "id": "exports::frontend/src/components/ui/LoadingSpinner.tsx::LoadingSpinner", - "detector": "exports", - "file": "frontend/src/components/ui/LoadingSpinner.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: LoadingSpinner", - "detail": { - "line": 10, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/LoadingSpinner.tsx::FullPageLoader": { - "id": "exports::frontend/src/components/ui/LoadingSpinner.tsx::FullPageLoader", - "detector": "exports", - "file": "frontend/src/components/ui/LoadingSpinner.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: FullPageLoader", - "detail": { - "line": 27, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/LoadingState.tsx::LoadingState": { - "id": "exports::frontend/src/components/ui/LoadingState.tsx::LoadingState", - "detector": "exports", - "file": "frontend/src/components/ui/LoadingState.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: LoadingState", - "detail": { - "line": 9, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/LoadingState.tsx::SkeletonCard": { - "id": "exports::frontend/src/components/ui/LoadingState.tsx::SkeletonCard", - "detector": "exports", - "file": "frontend/src/components/ui/LoadingState.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SkeletonCard", - "detail": { - "line": 38, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/LoadingState.tsx::SkeletonGrid": { - "id": "exports::frontend/src/components/ui/LoadingState.tsx::SkeletonGrid", - "detector": "exports", - "file": "frontend/src/components/ui/LoadingState.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SkeletonGrid", - "detail": { - "line": 55, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/LoadingState.tsx::SkeletonList": { - "id": "exports::frontend/src/components/ui/LoadingState.tsx::SkeletonList", - "detector": "exports", - "file": "frontend/src/components/ui/LoadingState.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SkeletonList", - "detail": { - "line": 63, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/MemberModal.tsx::MemberModal": { - "id": "exports::frontend/src/components/ui/MemberModal.tsx::MemberModal", - "detector": "exports", - "file": "frontend/src/components/ui/MemberModal.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: MemberModal", - "detail": { - "line": 23, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/NoteModal.tsx::NoteModal": { - "id": "exports::frontend/src/components/ui/NoteModal.tsx::NoteModal", - "detector": "exports", - "file": "frontend/src/components/ui/NoteModal.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: NoteModal", - "detail": { - "line": 16, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/ResponsiveGrid.tsx::ResponsiveGrid": { - "id": "exports::frontend/src/components/ui/ResponsiveGrid.tsx::ResponsiveGrid", - "detector": "exports", - "file": "frontend/src/components/ui/ResponsiveGrid.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: ResponsiveGrid", - "detail": { - "line": 18, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/ResponsiveGrid.tsx::MasonryGrid": { - "id": "exports::frontend/src/components/ui/ResponsiveGrid.tsx::MasonryGrid", - "detector": "exports", - "file": "frontend/src/components/ui/ResponsiveGrid.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: MasonryGrid", - "detail": { - "line": 58, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/RichTextEditor.tsx::RichTextEditor": { - "id": "exports::frontend/src/components/ui/RichTextEditor.tsx::RichTextEditor", - "detector": "exports", - "file": "frontend/src/components/ui/RichTextEditor.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: RichTextEditor", - "detail": { - "line": 27, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/SearchFilters.tsx::SearchFiltersProps": { - "id": "exports::frontend/src/components/ui/SearchFilters.tsx::SearchFiltersProps", - "detector": "exports", - "file": "frontend/src/components/ui/SearchFilters.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SearchFiltersProps", - "detail": { - "line": 6, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/SearchFilters.tsx::SearchFilters": { - "id": "exports::frontend/src/components/ui/SearchFilters.tsx::SearchFilters", - "detector": "exports", - "file": "frontend/src/components/ui/SearchFilters.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SearchFilters", - "detail": { - "line": 19, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/SearchTagFilterBar.tsx::SearchTagFilterBar": { - "id": "exports::frontend/src/components/ui/SearchTagFilterBar.tsx::SearchTagFilterBar", - "detector": "exports", - "file": "frontend/src/components/ui/SearchTagFilterBar.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SearchTagFilterBar", - "detail": { - "line": 16, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Switch.tsx::SwitchProps": { - "id": "exports::frontend/src/components/ui/Switch.tsx::SwitchProps", - "detector": "exports", - "file": "frontend/src/components/ui/Switch.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SwitchProps", - "detail": { - "line": 4, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/TagPicker.tsx::TagPicker": { - "id": "exports::frontend/src/components/ui/TagPicker.tsx::TagPicker", - "detector": "exports", - "file": "frontend/src/components/ui/TagPicker.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TagPicker", - "detail": { - "line": 13, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/TaskModal.tsx::TaskModal": { - "id": "exports::frontend/src/components/ui/TaskModal.tsx::TaskModal", - "detector": "exports", - "file": "frontend/src/components/ui/TaskModal.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TaskModal", - "detail": { - "line": 25, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Textarea.tsx::TextareaProps": { - "id": "exports::frontend/src/components/ui/Textarea.tsx::TextareaProps", - "detector": "exports", - "file": "frontend/src/components/ui/Textarea.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TextareaProps", - "detail": { - "line": 4, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/TimePicker.tsx::TimePickerProps": { - "id": "exports::frontend/src/components/ui/TimePicker.tsx::TimePickerProps", - "detector": "exports", - "file": "frontend/src/components/ui/TimePicker.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TimePickerProps", - "detail": { - "line": 5, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/TimePicker.tsx::TimePicker": { - "id": "exports::frontend/src/components/ui/TimePicker.tsx::TimePicker", - "detector": "exports", - "file": "frontend/src/components/ui/TimePicker.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TimePicker", - "detail": { - "line": 14, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Toast.tsx::toast": { - "id": "exports::frontend/src/components/ui/Toast.tsx::toast", - "detector": "exports", - "file": "frontend/src/components/ui/Toast.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: toast", - "detail": { - "line": 99, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/Toast.tsx::ToastContainer": { - "id": "exports::frontend/src/components/ui/Toast.tsx::ToastContainer", - "detector": "exports", - "file": "frontend/src/components/ui/Toast.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: ToastContainer", - "detail": { - "line": 125, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/UpdateChecker.tsx::UpdateChecker": { - "id": "exports::frontend/src/components/ui/UpdateChecker.tsx::UpdateChecker", - "detector": "exports", - "file": "frontend/src/components/ui/UpdateChecker.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: UpdateChecker", - "detail": { - "line": 15, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/UploadModal.tsx::UploadModal": { - "id": "exports::frontend/src/components/ui/UploadModal.tsx::UploadModal", - "detector": "exports", - "file": "frontend/src/components/ui/UploadModal.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: UploadModal", - "detail": { - "line": 10, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/UserProfileDropdown.tsx::UserProfileDropdown": { - "id": "exports::frontend/src/components/ui/UserProfileDropdown.tsx::UserProfileDropdown", - "detector": "exports", - "file": "frontend/src/components/ui/UserProfileDropdown.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: UserProfileDropdown", - "detail": { - "line": 19, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/VideoPreviewModal.tsx::VideoPreviewModal": { - "id": "exports::frontend/src/components/ui/VideoPreviewModal.tsx::VideoPreviewModal", - "detector": "exports", - "file": "frontend/src/components/ui/VideoPreviewModal.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: VideoPreviewModal", - "detail": { - "line": 10, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/VideoUploadModal.tsx::VideoUploadModal": { - "id": "exports::frontend/src/components/ui/VideoUploadModal.tsx::VideoUploadModal", - "detector": "exports", - "file": "frontend/src/components/ui/VideoUploadModal.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: VideoUploadModal", - "detail": { - "line": 12, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/ViewNoteModal.tsx::ViewNoteModal": { - "id": "exports::frontend/src/components/ui/ViewNoteModal.tsx::ViewNoteModal", - "detector": "exports", - "file": "frontend/src/components/ui/ViewNoteModal.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: ViewNoteModal", - "detail": { - "line": 36, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/VirtualList.tsx::VirtualList": { - "id": "exports::frontend/src/components/ui/VirtualList.tsx::VirtualList", - "detector": "exports", - "file": "frontend/src/components/ui/VirtualList.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: VirtualList", - "detail": { - "line": 13, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/VirtualList.tsx::InfiniteScroll": { - "id": "exports::frontend/src/components/ui/VirtualList.tsx::InfiniteScroll", - "detector": "exports", - "file": "frontend/src/components/ui/VirtualList.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: InfiniteScroll", - "detail": { - "line": 78, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/badge.tsx::BadgeProps": { - "id": "exports::frontend/src/components/ui/badge.tsx::BadgeProps", - "detector": "exports", - "file": "frontend/src/components/ui/badge.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: BadgeProps", - "detail": { - "line": 26, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/badge.tsx::Badge": { - "id": "exports::frontend/src/components/ui/badge.tsx::Badge", - "detector": "exports", - "file": "frontend/src/components/ui/badge.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Badge", - "detail": { - "line": 32, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/label.tsx::LabelProps": { - "id": "exports::frontend/src/components/ui/label.tsx::LabelProps", - "detector": "exports", - "file": "frontend/src/components/ui/label.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: LabelProps", - "detail": { - "line": 10, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/label.tsx::Label": { - "id": "exports::frontend/src/components/ui/label.tsx::Label", - "detector": "exports", - "file": "frontend/src/components/ui/label.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Label", - "detail": { - "line": 16, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/select-simple.tsx::SelectProps": { - "id": "exports::frontend/src/components/ui/select-simple.tsx::SelectProps", - "detector": "exports", - "file": "frontend/src/components/ui/select-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SelectProps", - "detail": { - "line": 5, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/select-simple.tsx::Select": { - "id": "exports::frontend/src/components/ui/select-simple.tsx::Select", - "detector": "exports", - "file": "frontend/src/components/ui/select-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Select", - "detail": { - "line": 12, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/select-simple.tsx::SelectTriggerProps": { - "id": "exports::frontend/src/components/ui/select-simple.tsx::SelectTriggerProps", - "detector": "exports", - "file": "frontend/src/components/ui/select-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SelectTriggerProps", - "detail": { - "line": 16, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/select-simple.tsx::SelectTrigger": { - "id": "exports::frontend/src/components/ui/select-simple.tsx::SelectTrigger", - "detector": "exports", - "file": "frontend/src/components/ui/select-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SelectTrigger", - "detail": { - "line": 21, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/select-simple.tsx::SelectValueProps": { - "id": "exports::frontend/src/components/ui/select-simple.tsx::SelectValueProps", - "detector": "exports", - "file": "frontend/src/components/ui/select-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SelectValueProps", - "detail": { - "line": 33, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/select-simple.tsx::SelectValue": { - "id": "exports::frontend/src/components/ui/select-simple.tsx::SelectValue", - "detector": "exports", - "file": "frontend/src/components/ui/select-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SelectValue", - "detail": { - "line": 38, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/select-simple.tsx::SelectContentProps": { - "id": "exports::frontend/src/components/ui/select-simple.tsx::SelectContentProps", - "detector": "exports", - "file": "frontend/src/components/ui/select-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SelectContentProps", - "detail": { - "line": 42, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/select-simple.tsx::SelectContent": { - "id": "exports::frontend/src/components/ui/select-simple.tsx::SelectContent", - "detector": "exports", - "file": "frontend/src/components/ui/select-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SelectContent", - "detail": { - "line": 47, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/select-simple.tsx::SelectItemProps": { - "id": "exports::frontend/src/components/ui/select-simple.tsx::SelectItemProps", - "detector": "exports", - "file": "frontend/src/components/ui/select-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SelectItemProps", - "detail": { - "line": 60, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/select-simple.tsx::SelectItem": { - "id": "exports::frontend/src/components/ui/select-simple.tsx::SelectItem", - "detector": "exports", - "file": "frontend/src/components/ui/select-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: SelectItem", - "detail": { - "line": 67, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/tabs-simple.tsx::TabsProps": { - "id": "exports::frontend/src/components/ui/tabs-simple.tsx::TabsProps", - "detector": "exports", - "file": "frontend/src/components/ui/tabs-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TabsProps", - "detail": { - "line": 5, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/tabs-simple.tsx::Tabs": { - "id": "exports::frontend/src/components/ui/tabs-simple.tsx::Tabs", - "detector": "exports", - "file": "frontend/src/components/ui/tabs-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Tabs", - "detail": { - "line": 11, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/tabs-simple.tsx::TabsListProps": { - "id": "exports::frontend/src/components/ui/tabs-simple.tsx::TabsListProps", - "detector": "exports", - "file": "frontend/src/components/ui/tabs-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TabsListProps", - "detail": { - "line": 29, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/tabs-simple.tsx::TabsList": { - "id": "exports::frontend/src/components/ui/tabs-simple.tsx::TabsList", - "detector": "exports", - "file": "frontend/src/components/ui/tabs-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TabsList", - "detail": { - "line": 36, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/tabs-simple.tsx::TabsTriggerProps": { - "id": "exports::frontend/src/components/ui/tabs-simple.tsx::TabsTriggerProps", - "detector": "exports", - "file": "frontend/src/components/ui/tabs-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TabsTriggerProps", - "detail": { - "line": 55, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/tabs-simple.tsx::TabsTrigger": { - "id": "exports::frontend/src/components/ui/tabs-simple.tsx::TabsTrigger", - "detector": "exports", - "file": "frontend/src/components/ui/tabs-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TabsTrigger", - "detail": { - "line": 63, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/tabs-simple.tsx::TabsContentProps": { - "id": "exports::frontend/src/components/ui/tabs-simple.tsx::TabsContentProps", - "detector": "exports", - "file": "frontend/src/components/ui/tabs-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TabsContentProps", - "detail": { - "line": 80, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/components/ui/tabs-simple.tsx::TabsContent": { - "id": "exports::frontend/src/components/ui/tabs-simple.tsx::TabsContent", - "detector": "exports", - "file": "frontend/src/components/ui/tabs-simple.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TabsContent", - "detail": { - "line": 87, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/hooks/useDebounce.ts::useDebounce": { - "id": "exports::frontend/src/hooks/useDebounce.ts::useDebounce", - "detector": "exports", - "file": "frontend/src/hooks/useDebounce.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: useDebounce", - "detail": { - "line": 3, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/hooks/useDebounce.ts::useDebouncedCallback": { - "id": "exports::frontend/src/hooks/useDebounce.ts::useDebouncedCallback", - "detector": "exports", - "file": "frontend/src/hooks/useDebounce.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: useDebouncedCallback", - "detail": { - "line": 28, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/hooks/useLocalStorage.ts::useLocalStorage": { - "id": "exports::frontend/src/hooks/useLocalStorage.ts::useLocalStorage", - "detector": "exports", - "file": "frontend/src/hooks/useLocalStorage.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: useLocalStorage", - "detail": { - "line": 4, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/hooks/useLocalStorage.ts::useSessionStorage": { - "id": "exports::frontend/src/hooks/useLocalStorage.ts::useSessionStorage", - "detector": "exports", - "file": "frontend/src/hooks/useLocalStorage.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: useSessionStorage", - "detail": { - "line": 59, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api-client.ts::Bookmark": { - "id": "exports::frontend/src/lib/api-client.ts::Bookmark", - "detector": "exports", - "file": "frontend/src/lib/api-client.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Bookmark", - "detail": { - "line": 81, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api-client.ts::Task": { - "id": "exports::frontend/src/lib/api-client.ts::Task", - "detector": "exports", - "file": "frontend/src/lib/api-client.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Task", - "detail": { - "line": 94, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api-client.ts::Note": { - "id": "exports::frontend/src/lib/api-client.ts::Note", - "detector": "exports", - "file": "frontend/src/lib/api-client.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Note", - "detail": { - "line": 107, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api-client.ts::FileItem": { - "id": "exports::frontend/src/lib/api-client.ts::FileItem", - "detector": "exports", - "file": "frontend/src/lib/api-client.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: FileItem", - "detail": { - "line": 119, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api-client.ts::bookmarksApi": { - "id": "exports::frontend/src/lib/api-client.ts::bookmarksApi", - "detector": "exports", - "file": "frontend/src/lib/api-client.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: bookmarksApi", - "detail": { - "line": 132, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api-client.ts::tasksApi": { - "id": "exports::frontend/src/lib/api-client.ts::tasksApi", - "detector": "exports", - "file": "frontend/src/lib/api-client.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: tasksApi", - "detail": { - "line": 191, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api-client.ts::notesApi": { - "id": "exports::frontend/src/lib/api-client.ts::notesApi", - "detector": "exports", - "file": "frontend/src/lib/api-client.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: notesApi", - "detail": { - "line": 250, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api-client.ts::filesApi": { - "id": "exports::frontend/src/lib/api-client.ts::filesApi", - "detector": "exports", - "file": "frontend/src/lib/api-client.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: filesApi", - "detail": { - "line": 315, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api.ts::Bookmark": { - "id": "exports::frontend/src/lib/api.ts::Bookmark", - "detector": "exports", - "file": "frontend/src/lib/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Bookmark", - "detail": { - "line": 280, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api.ts::Task": { - "id": "exports::frontend/src/lib/api.ts::Task", - "detector": "exports", - "file": "frontend/src/lib/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Task", - "detail": { - "line": 291, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api.ts::Note": { - "id": "exports::frontend/src/lib/api.ts::Note", - "detector": "exports", - "file": "frontend/src/lib/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Note", - "detail": { - "line": 303, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api.ts::File": { - "id": "exports::frontend/src/lib/api.ts::File", - "detector": "exports", - "file": "frontend/src/lib/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: File", - "detail": { - "line": 314, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api.ts::TimeEntry": { - "id": "exports::frontend/src/lib/api.ts::TimeEntry", - "detector": "exports", - "file": "frontend/src/lib/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TimeEntry", - "detail": { - "line": 330, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api.ts::TimeStats": { - "id": "exports::frontend/src/lib/api.ts::TimeStats", - "detector": "exports", - "file": "frontend/src/lib/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TimeStats", - "detail": { - "line": 352, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api.ts::bookmarksApi": { - "id": "exports::frontend/src/lib/api.ts::bookmarksApi", - "detector": "exports", - "file": "frontend/src/lib/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: bookmarksApi", - "detail": { - "line": 361, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api.ts::tasksApi": { - "id": "exports::frontend/src/lib/api.ts::tasksApi", - "detector": "exports", - "file": "frontend/src/lib/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: tasksApi", - "detail": { - "line": 371, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api.ts::notesApi": { - "id": "exports::frontend/src/lib/api.ts::notesApi", - "detector": "exports", - "file": "frontend/src/lib/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: notesApi", - "detail": { - "line": 381, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api.ts::filesApi": { - "id": "exports::frontend/src/lib/api.ts::filesApi", - "detector": "exports", - "file": "frontend/src/lib/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: filesApi", - "detail": { - "line": 404, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/api.ts::timeEntriesApi": { - "id": "exports::frontend/src/lib/api.ts::timeEntriesApi", - "detector": "exports", - "file": "frontend/src/lib/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: timeEntriesApi", - "detail": { - "line": 417, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/auth.tsx::User": { - "id": "exports::frontend/src/lib/auth.tsx::User", - "detector": "exports", - "file": "frontend/src/lib/auth.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: User", - "detail": { - "line": 12, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/auth.tsx::AuthState": { - "id": "exports::frontend/src/lib/auth.tsx::AuthState", - "detector": "exports", - "file": "frontend/src/lib/auth.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: AuthState", - "detail": { - "line": 22, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/auth.tsx::LoginRequest": { - "id": "exports::frontend/src/lib/auth.tsx::LoginRequest", - "detector": "exports", - "file": "frontend/src/lib/auth.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: LoginRequest", - "detail": { - "line": 29, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/auth.tsx::RegisterRequest": { - "id": "exports::frontend/src/lib/auth.tsx::RegisterRequest", - "detector": "exports", - "file": "frontend/src/lib/auth.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: RegisterRequest", - "detail": { - "line": 34, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/auth.tsx::AuthResponse": { - "id": "exports::frontend/src/lib/auth.tsx::AuthResponse", - "detector": "exports", - "file": "frontend/src/lib/auth.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: AuthResponse", - "detail": { - "line": 41, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/auth.tsx::AuthContextType": { - "id": "exports::frontend/src/lib/auth.tsx::AuthContextType", - "detector": "exports", - "file": "frontend/src/lib/auth.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: AuthContextType", - "detail": { - "line": 52, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/auth.tsx::AuthProvider": { - "id": "exports::frontend/src/lib/auth.tsx::AuthProvider", - "detector": "exports", - "file": "frontend/src/lib/auth.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: AuthProvider", - "detail": { - "line": 65, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/auth.tsx::useAuth": { - "id": "exports::frontend/src/lib/auth.tsx::useAuth", - "detector": "exports", - "file": "frontend/src/lib/auth.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: useAuth", - "detail": { - "line": 393, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/auth.tsx::getAuthHeaders": { - "id": "exports::frontend/src/lib/auth.tsx::getAuthHeaders", - "detector": "exports", - "file": "frontend/src/lib/auth.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getAuthHeaders", - "detail": { - "line": 402, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/brave-search.ts::BraveSearchResult": { - "id": "exports::frontend/src/lib/brave-search.ts::BraveSearchResult", - "detector": "exports", - "file": "frontend/src/lib/brave-search.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: BraveSearchResult", - "detail": { - "line": 31, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/brave-search.ts::BraveSearchResponse": { - "id": "exports::frontend/src/lib/brave-search.ts::BraveSearchResponse", - "detector": "exports", - "file": "frontend/src/lib/brave-search.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: BraveSearchResponse", - "detail": { - "line": 42, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/credentials.ts::hasDatabaseCredentials": { - "id": "exports::frontend/src/lib/credentials.ts::hasDatabaseCredentials", - "detector": "exports", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: hasDatabaseCredentials", - "detail": { - "line": 4, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/credentials.ts::hasSearchCredentials": { - "id": "exports::frontend/src/lib/credentials.ts::hasSearchCredentials", - "detector": "exports", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: hasSearchCredentials", - "detail": { - "line": 16, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/credentials.ts::hasAICredentials": { - "id": "exports::frontend/src/lib/credentials.ts::hasAICredentials", - "detector": "exports", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: hasAICredentials", - "detail": { - "line": 26, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/credentials.ts::hasAnyCredentials": { - "id": "exports::frontend/src/lib/credentials.ts::hasAnyCredentials", - "detector": "exports", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: hasAnyCredentials", - "detail": { - "line": 42, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/credentials.ts::isBackendAvailable": { - "id": "exports::frontend/src/lib/credentials.ts::isBackendAvailable", - "detector": "exports", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: isBackendAvailable", - "detail": { - "line": 49, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/credentials.ts::isSearchAvailable": { - "id": "exports::frontend/src/lib/credentials.ts::isSearchAvailable", - "detector": "exports", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: isSearchAvailable", - "detail": { - "line": 54, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/credentials.ts::isAIAvailable": { - "id": "exports::frontend/src/lib/credentials.ts::isAIAvailable", - "detector": "exports", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: isAIAvailable", - "detail": { - "line": 59, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/credentials.ts::getSearchProvider": { - "id": "exports::frontend/src/lib/credentials.ts::getSearchProvider", - "detector": "exports", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getSearchProvider", - "detail": { - "line": 64, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/credentials.ts::getApiBaseUrl": { - "id": "exports::frontend/src/lib/credentials.ts::getApiBaseUrl", - "detector": "exports", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getApiBaseUrl", - "detail": { - "line": 71, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/demo-api.ts::DemoModeApiClient": { - "id": "exports::frontend/src/lib/demo-api.ts::DemoModeApiClient", - "detector": "exports", - "file": "frontend/src/lib/demo-api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: DemoModeApiClient", - "detail": { - "line": 23, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/demo-api.ts::demoBookmarksApi": { - "id": "exports::frontend/src/lib/demo-api.ts::demoBookmarksApi", - "detector": "exports", - "file": "frontend/src/lib/demo-api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: demoBookmarksApi", - "detail": { - "line": 293, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/demo-api.ts::demoTasksApi": { - "id": "exports::frontend/src/lib/demo-api.ts::demoTasksApi", - "detector": "exports", - "file": "frontend/src/lib/demo-api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: demoTasksApi", - "detail": { - "line": 301, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/demo-api.ts::demoNotesApi": { - "id": "exports::frontend/src/lib/demo-api.ts::demoNotesApi", - "detector": "exports", - "file": "frontend/src/lib/demo-api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: demoNotesApi", - "detail": { - "line": 309, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/demo-api.ts::demoFilesApi": { - "id": "exports::frontend/src/lib/demo-api.ts::demoFilesApi", - "detector": "exports", - "file": "frontend/src/lib/demo-api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: demoFilesApi", - "detail": { - "line": 318, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/demo-api.ts::demoTimeEntriesApi": { - "id": "exports::frontend/src/lib/demo-api.ts::demoTimeEntriesApi", - "detector": "exports", - "file": "frontend/src/lib/demo-api.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: demoTimeEntriesApi", - "detail": { - "line": 331, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/demo-mode.ts::isEnvDemoMode": { - "id": "exports::frontend/src/lib/demo-mode.ts::isEnvDemoMode", - "detector": "exports", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: isEnvDemoMode", - "detail": { - "line": 6, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/demo-mode.ts::isDemoMode": { - "id": "exports::frontend/src/lib/demo-mode.ts::isDemoMode", - "detector": "exports", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: isDemoMode", - "detail": { - "line": 13, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/demo-mode.ts::shouldUseRealAPIs": { - "id": "exports::frontend/src/lib/demo-mode.ts::shouldUseRealAPIs", - "detector": "exports", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: shouldUseRealAPIs", - "detail": { - "line": 19, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/demo-mode.ts::shouldUseRealBackend": { - "id": "exports::frontend/src/lib/demo-mode.ts::shouldUseRealBackend", - "detector": "exports", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: shouldUseRealBackend", - "detail": { - "line": 35, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/demo-mode.ts::shouldUseRealSearch": { - "id": "exports::frontend/src/lib/demo-mode.ts::shouldUseRealSearch", - "detector": "exports", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: shouldUseRealSearch", - "detail": { - "line": 40, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/demo-mode.ts::clearDemoMode": { - "id": "exports::frontend/src/lib/demo-mode.ts::clearDemoMode", - "detector": "exports", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: clearDemoMode", - "detail": { - "line": 45, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/demo-mode.ts::setDemoMode": { - "id": "exports::frontend/src/lib/demo-mode.ts::setDemoMode", - "detector": "exports", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: setDemoMode", - "detail": { - "line": 60, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/demo-mode.ts::demoFetch": { - "id": "exports::frontend/src/lib/demo-mode.ts::demoFetch", - "detector": "exports", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: demoFetch", - "detail": { - "line": 225, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/demo-mode.ts::initializeDemoMode": { - "id": "exports::frontend/src/lib/demo-mode.ts::initializeDemoMode", - "detector": "exports", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: initializeDemoMode", - "detail": { - "line": 718, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/export-import.ts::ExportData": { - "id": "exports::frontend/src/lib/export-import.ts::ExportData", - "detector": "exports", - "file": "frontend/src/lib/export-import.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: ExportData", - "detail": { - "line": 3, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/export-import.ts::exportData": { - "id": "exports::frontend/src/lib/export-import.ts::exportData", - "detector": "exports", - "file": "frontend/src/lib/export-import.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: exportData", - "detail": { - "line": 12, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/export-import.ts::importData": { - "id": "exports::frontend/src/lib/export-import.ts::importData", - "detector": "exports", - "file": "frontend/src/lib/export-import.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: importData", - "detail": { - "line": 40, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/export-import.ts::validateImportData": { - "id": "exports::frontend/src/lib/export-import.ts::validateImportData", - "detector": "exports", - "file": "frontend/src/lib/export-import.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: validateImportData", - "detail": { - "line": 68, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/export-import.ts::getImportSummary": { - "id": "exports::frontend/src/lib/export-import.ts::getImportSummary", - "detector": "exports", - "file": "frontend/src/lib/export-import.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getImportSummary", - "detail": { - "line": 104, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::MockDocument": { - "id": "exports::frontend/src/lib/mockData.ts::MockDocument", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: MockDocument", - "detail": { - "line": 4, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::MockBookmark": { - "id": "exports::frontend/src/lib/mockData.ts::MockBookmark", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: MockBookmark", - "detail": { - "line": 15, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::MockTask": { - "id": "exports::frontend/src/lib/mockData.ts::MockTask", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: MockTask", - "detail": { - "line": 27, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::MockNote": { - "id": "exports::frontend/src/lib/mockData.ts::MockNote", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: MockNote", - "detail": { - "line": 43, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::MockTimeEntry": { - "id": "exports::frontend/src/lib/mockData.ts::MockTimeEntry", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: MockTimeEntry", - "detail": { - "line": 55, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::MockVideo": { - "id": "exports::frontend/src/lib/mockData.ts::MockVideo", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: MockVideo", - "detail": { - "line": 69, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::MockLearningPath": { - "id": "exports::frontend/src/lib/mockData.ts::MockLearningPath", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: MockLearningPath", - "detail": { - "line": 83, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::MockCalendarEvent": { - "id": "exports::frontend/src/lib/mockData.ts::MockCalendarEvent", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: MockCalendarEvent", - "detail": { - "line": 103, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::MockActivity": { - "id": "exports::frontend/src/lib/mockData.ts::MockActivity", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: MockActivity", - "detail": { - "line": 116, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::mockDocuments": { - "id": "exports::frontend/src/lib/mockData.ts::mockDocuments", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: mockDocuments", - "detail": { - "line": 127, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::mockBookmarks": { - "id": "exports::frontend/src/lib/mockData.ts::mockBookmarks", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: mockBookmarks", - "detail": { - "line": 364, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::mockTasks": { - "id": "exports::frontend/src/lib/mockData.ts::mockTasks", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: mockTasks", - "detail": { - "line": 591, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::mockNotes": { - "id": "exports::frontend/src/lib/mockData.ts::mockNotes", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: mockNotes", - "detail": { - "line": 1065, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::mockTimeEntries": { - "id": "exports::frontend/src/lib/mockData.ts::mockTimeEntries", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: mockTimeEntries", - "detail": { - "line": 1179, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::mockVideos": { - "id": "exports::frontend/src/lib/mockData.ts::mockVideos", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: mockVideos", - "detail": { - "line": 1277, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::mockLearningPaths": { - "id": "exports::frontend/src/lib/mockData.ts::mockLearningPaths", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: mockLearningPaths", - "detail": { - "line": 1517, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::MockFile": { - "id": "exports::frontend/src/lib/mockData.ts::MockFile", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: MockFile", - "detail": { - "line": 2098, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::mockFiles": { - "id": "exports::frontend/src/lib/mockData.ts::mockFiles", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: mockFiles", - "detail": { - "line": 2119, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::mockCalendarEvents": { - "id": "exports::frontend/src/lib/mockData.ts::mockCalendarEvents", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: mockCalendarEvents", - "detail": { - "line": 2235, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::mockActivities": { - "id": "exports::frontend/src/lib/mockData.ts::mockActivities", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: mockActivities", - "detail": { - "line": 2453, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::getMockDocuments": { - "id": "exports::frontend/src/lib/mockData.ts::getMockDocuments", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getMockDocuments", - "detail": { - "line": 2592, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::getMockBookmarks": { - "id": "exports::frontend/src/lib/mockData.ts::getMockBookmarks", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getMockBookmarks", - "detail": { - "line": 2593, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::getMockTasks": { - "id": "exports::frontend/src/lib/mockData.ts::getMockTasks", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getMockTasks", - "detail": { - "line": 2594, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::getMockNotes": { - "id": "exports::frontend/src/lib/mockData.ts::getMockNotes", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getMockNotes", - "detail": { - "line": 2595, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::getMockTimeEntries": { - "id": "exports::frontend/src/lib/mockData.ts::getMockTimeEntries", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getMockTimeEntries", - "detail": { - "line": 2596, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::getMockVideos": { - "id": "exports::frontend/src/lib/mockData.ts::getMockVideos", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getMockVideos", - "detail": { - "line": 2597, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::getMockLearningPaths": { - "id": "exports::frontend/src/lib/mockData.ts::getMockLearningPaths", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getMockLearningPaths", - "detail": { - "line": 2598, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::getMockCalendarEvents": { - "id": "exports::frontend/src/lib/mockData.ts::getMockCalendarEvents", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getMockCalendarEvents", - "detail": { - "line": 2599, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::getMockFiles": { - "id": "exports::frontend/src/lib/mockData.ts::getMockFiles", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getMockFiles", - "detail": { - "line": 2600, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::getMockActivities": { - "id": "exports::frontend/src/lib/mockData.ts::getMockActivities", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getMockActivities", - "detail": { - "line": 2601, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::getMockStats": { - "id": "exports::frontend/src/lib/mockData.ts::getMockStats", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getMockStats", - "detail": { - "line": 2604, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/mockData.ts::getPopularTags": { - "id": "exports::frontend/src/lib/mockData.ts::getPopularTags", - "detector": "exports", - "file": "frontend/src/lib/mockData.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getPopularTags", - "detail": { - "line": 2653, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/time-format.ts::TimeDuration": { - "id": "exports::frontend/src/lib/time-format.ts::TimeDuration", - "detector": "exports", - "file": "frontend/src/lib/time-format.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TimeDuration", - "detail": { - "line": 3, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/time-format.ts::formatDuration": { - "id": "exports::frontend/src/lib/time-format.ts::formatDuration", - "detector": "exports", - "file": "frontend/src/lib/time-format.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: formatDuration", - "detail": { - "line": 12, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/time-format.ts::formatDurationShort": { - "id": "exports::frontend/src/lib/time-format.ts::formatDurationShort", - "detector": "exports", - "file": "frontend/src/lib/time-format.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: formatDurationShort", - "detail": { - "line": 50, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/time-format.ts::formatDurationDetailed": { - "id": "exports::frontend/src/lib/time-format.ts::formatDurationDetailed", - "detector": "exports", - "file": "frontend/src/lib/time-format.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: formatDurationDetailed", - "detail": { - "line": 73, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/time-format.ts::getLargestTimeUnit": { - "id": "exports::frontend/src/lib/time-format.ts::getLargestTimeUnit", - "detector": "exports", - "file": "frontend/src/lib/time-format.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getLargestTimeUnit", - "detail": { - "line": 134, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/timeFormat.ts::formatDuration": { - "id": "exports::frontend/src/lib/timeFormat.ts::formatDuration", - "detector": "exports", - "file": "frontend/src/lib/timeFormat.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: formatDuration", - "detail": { - "line": 8, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/timeFormat.ts::formatDurationCompact": { - "id": "exports::frontend/src/lib/timeFormat.ts::formatDurationCompact", - "detector": "exports", - "file": "frontend/src/lib/timeFormat.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: formatDurationCompact", - "detail": { - "line": 42, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/utils.ts::formatDate": { - "id": "exports::frontend/src/lib/utils.ts::formatDate", - "detector": "exports", - "file": "frontend/src/lib/utils.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: formatDate", - "detail": { - "line": 8, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/utils.ts::formatDateTime": { - "id": "exports::frontend/src/lib/utils.ts::formatDateTime", - "detector": "exports", - "file": "frontend/src/lib/utils.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: formatDateTime", - "detail": { - "line": 17, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/utils.ts::truncateText": { - "id": "exports::frontend/src/lib/utils.ts::truncateText", - "detector": "exports", - "file": "frontend/src/lib/utils.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: truncateText", - "detail": { - "line": 28, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/utils.ts::getInitials": { - "id": "exports::frontend/src/lib/utils.ts::getInitials", - "detector": "exports", - "file": "frontend/src/lib/utils.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getInitials", - "detail": { - "line": 33, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/utils.ts::generateId": { - "id": "exports::frontend/src/lib/utils.ts::generateId", - "detector": "exports", - "file": "frontend/src/lib/utils.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: generateId", - "detail": { - "line": 41, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/lib/weeklyChart.tsx::WeeklyBarChart": { - "id": "exports::frontend/src/lib/weeklyChart.tsx::WeeklyBarChart", - "detector": "exports", - "file": "frontend/src/lib/weeklyChart.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: WeeklyBarChart", - "detail": { - "line": 8, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/AIAssistant.tsx::AIAssistant": { - "id": "exports::frontend/src/pages/AIAssistant.tsx::AIAssistant", - "detector": "exports", - "file": "frontend/src/pages/AIAssistant.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: AIAssistant", - "detail": { - "line": 15, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/AIChat.tsx::AIChat": { - "id": "exports::frontend/src/pages/AIChat.tsx::AIChat", - "detector": "exports", - "file": "frontend/src/pages/AIChat.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: AIChat", - "detail": { - "line": 32, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/Activity.tsx::Activity": { - "id": "exports::frontend/src/pages/Activity.tsx::Activity", - "detector": "exports", - "file": "frontend/src/pages/Activity.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Activity", - "detail": { - "line": 14, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/AdminDashboard.tsx::AdminDashboard": { - "id": "exports::frontend/src/pages/AdminDashboard.tsx::AdminDashboard", - "detector": "exports", - "file": "frontend/src/pages/AdminDashboard.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: AdminDashboard", - "detail": { - "line": 53, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/AdminSettings.tsx::AdminSettings": { - "id": "exports::frontend/src/pages/AdminSettings.tsx::AdminSettings", - "detector": "exports", - "file": "frontend/src/pages/AdminSettings.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: AdminSettings", - "detail": { - "line": 14, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/Analytics.tsx::Analytics": { - "id": "exports::frontend/src/pages/Analytics.tsx::Analytics", - "detector": "exports", - "file": "frontend/src/pages/Analytics.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Analytics", - "detail": { - "line": 119, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/AuthCallback.tsx::AuthCallback": { - "id": "exports::frontend/src/pages/AuthCallback.tsx::AuthCallback", - "detector": "exports", - "file": "frontend/src/pages/AuthCallback.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: AuthCallback", - "detail": { - "line": 5, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/Bookmarks.tsx::Bookmarks": { - "id": "exports::frontend/src/pages/Bookmarks.tsx::Bookmarks", - "detector": "exports", - "file": "frontend/src/pages/Bookmarks.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Bookmarks", - "detail": { - "line": 35, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/Calendar.tsx::Calendar": { - "id": "exports::frontend/src/pages/Calendar.tsx::Calendar", - "detector": "exports", - "file": "frontend/src/pages/Calendar.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Calendar", - "detail": { - "line": 53, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/ColorSwitcher.tsx::ColorSwitcher": { - "id": "exports::frontend/src/pages/ColorSwitcher.tsx::ColorSwitcher", - "detector": "exports", - "file": "frontend/src/pages/ColorSwitcher.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: ColorSwitcher", - "detail": { - "line": 14, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/Dashboard.tsx::Dashboard": { - "id": "exports::frontend/src/pages/Dashboard.tsx::Dashboard", - "detector": "exports", - "file": "frontend/src/pages/Dashboard.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Dashboard", - "detail": { - "line": 115, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/Files.tsx::Files": { - "id": "exports::frontend/src/pages/Files.tsx::Files", - "detector": "exports", - "file": "frontend/src/pages/Files.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Files", - "detail": { - "line": 41, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/GitHub.tsx::GitHub": { - "id": "exports::frontend/src/pages/GitHub.tsx::GitHub", - "detector": "exports", - "file": "frontend/src/pages/GitHub.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: GitHub", - "detail": { - "line": 53, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/LearningPaths.tsx::LearningPaths": { - "id": "exports::frontend/src/pages/LearningPaths.tsx::LearningPaths", - "detector": "exports", - "file": "frontend/src/pages/LearningPaths.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: LearningPaths", - "detail": { - "line": 63, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/Login.tsx::Login": { - "id": "exports::frontend/src/pages/Login.tsx::Login", - "detector": "exports", - "file": "frontend/src/pages/Login.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Login", - "detail": { - "line": 6, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/Members.tsx::Members": { - "id": "exports::frontend/src/pages/Members.tsx::Members", - "detector": "exports", - "file": "frontend/src/pages/Members.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Members", - "detail": { - "line": 16, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/Notes.tsx::Notes": { - "id": "exports::frontend/src/pages/Notes.tsx::Notes", - "detector": "exports", - "file": "frontend/src/pages/Notes.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Notes", - "detail": { - "line": 102, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/Profile.tsx::Profile": { - "id": "exports::frontend/src/pages/Profile.tsx::Profile", - "detector": "exports", - "file": "frontend/src/pages/Profile.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Profile", - "detail": { - "line": 5, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/QuickSelection.tsx::QuickSelection": { - "id": "exports::frontend/src/pages/QuickSelection.tsx::QuickSelection", - "detector": "exports", - "file": "frontend/src/pages/QuickSelection.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: QuickSelection", - "detail": { - "line": 13, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/RemovedStuff.tsx::RemovedStuff": { - "id": "exports::frontend/src/pages/RemovedStuff.tsx::RemovedStuff", - "detector": "exports", - "file": "frontend/src/pages/RemovedStuff.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: RemovedStuff", - "detail": { - "line": 21, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/Search.tsx::Search": { - "id": "exports::frontend/src/pages/Search.tsx::Search", - "detector": "exports", - "file": "frontend/src/pages/Search.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Search", - "detail": { - "line": 3, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/Settings.tsx::Settings": { - "id": "exports::frontend/src/pages/Settings.tsx::Settings", - "detector": "exports", - "file": "frontend/src/pages/Settings.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Settings", - "detail": { - "line": 9, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/Stats.tsx::Stats": { - "id": "exports::frontend/src/pages/Stats.tsx::Stats", - "detector": "exports", - "file": "frontend/src/pages/Stats.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Stats", - "detail": { - "line": 67, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/Tasks.tsx::Tasks": { - "id": "exports::frontend/src/pages/Tasks.tsx::Tasks", - "detector": "exports", - "file": "frontend/src/pages/Tasks.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Tasks", - "detail": { - "line": 19, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/TimeTracking.tsx::TimeTracking": { - "id": "exports::frontend/src/pages/TimeTracking.tsx::TimeTracking", - "detector": "exports", - "file": "frontend/src/pages/TimeTracking.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: TimeTracking", - "detail": { - "line": 8, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/pages/Youtube.tsx::Youtube": { - "id": "exports::frontend/src/pages/Youtube.tsx::Youtube", - "detector": "exports", - "file": "frontend/src/pages/Youtube.tsx", - "tier": 2, - "confidence": "high", - "summary": "Dead export: Youtube", - "detail": { - "line": 116, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/services/updateService.ts::UpdateInfo": { - "id": "exports::frontend/src/services/updateService.ts::UpdateInfo", - "detector": "exports", - "file": "frontend/src/services/updateService.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: UpdateInfo", - "detail": { - "line": 2, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/services/updateService.ts::UpdateStatus": { - "id": "exports::frontend/src/services/updateService.ts::UpdateStatus", - "detector": "exports", - "file": "frontend/src/services/updateService.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: UpdateStatus", - "detail": { - "line": 10, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/services/updateService.ts::UpdateCheckResponse": { - "id": "exports::frontend/src/services/updateService.ts::UpdateCheckResponse", - "detector": "exports", - "file": "frontend/src/services/updateService.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: UpdateCheckResponse", - "detail": { - "line": 19, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/services/updateService.ts::updateService": { - "id": "exports::frontend/src/services/updateService.ts::updateService", - "detector": "exports", - "file": "frontend/src/services/updateService.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: updateService", - "detail": { - "line": 36, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/stores/updateStore.ts::updateStore": { - "id": "exports::frontend/src/stores/updateStore.ts::updateStore", - "detector": "exports", - "file": "frontend/src/stores/updateStore.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: updateStore", - "detail": { - "line": 165, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/utils/fileTypes.ts::FileTypeConfig": { - "id": "exports::frontend/src/utils/fileTypes.ts::FileTypeConfig", - "detector": "exports", - "file": "frontend/src/utils/fileTypes.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: FileTypeConfig", - "detail": { - "line": 21, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/utils/fileTypes.ts::getFileTypeConfig": { - "id": "exports::frontend/src/utils/fileTypes.ts::getFileTypeConfig", - "detector": "exports", - "file": "frontend/src/utils/fileTypes.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getFileTypeConfig", - "detail": { - "line": 117, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/utils/fileTypes.ts::formatFileSize": { - "id": "exports::frontend/src/utils/fileTypes.ts::formatFileSize", - "detector": "exports", - "file": "frontend/src/utils/fileTypes.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: formatFileSize", - "detail": { - "line": 202, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "exports::frontend/src/utils/fileTypes.ts::getFileCategoryColor": { - "id": "exports::frontend/src/utils/fileTypes.ts::getFileCategoryColor", - "detector": "exports", - "file": "frontend/src/utils/fileTypes.ts", - "tier": 2, - "confidence": "high", - "summary": "Dead export: getFileCategoryColor", - "detail": { - "line": 210, - "kind": null - }, - "status": "wontfix", - "note": "Intentional public API exports - may be used by tests, consumers, or future code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:02:14+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "deprecated::landing/.astro/astro/content.d.ts::getEntryBySlug": { - "id": "deprecated::landing/.astro/astro/content.d.ts::getEntryBySlug", - "detector": "deprecated", - "file": "landing/.astro/astro/content.d.ts", - "tier": 1, - "confidence": "high", - "summary": "Deprecated: getEntryBySlug (0 importers) \u2192 safe to delete", - "detail": { - "importers": 0, - "line": 34 - }, - "status": "wontfix", - "note": "Auto-generated Astro file - not source code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:38:11+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "generated" - }, - "deprecated::landing/.astro/astro/content.d.ts::getDataEntryById": { - "id": "deprecated::landing/.astro/astro/content.d.ts::getDataEntryById", - "detector": "deprecated", - "file": "landing/.astro/astro/content.d.ts", - "tier": 1, - "confidence": "high", - "summary": "Deprecated: getDataEntryById (0 importers) \u2192 safe to delete", - "detail": { - "importers": 0, - "line": 46 - }, - "status": "wontfix", - "note": "Auto-generated Astro file - not source code", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:38:09+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "generated" - }, - "structural::frontend/src/lib/mockData.ts": { - "id": "structural::frontend/src/lib/mockData.ts", - "detector": "structural", - "file": "frontend/src/lib/mockData.ts", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: large (2674 LOC)", - "detail": { - "loc": 2674 - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/pages/Settings.tsx": { - "id": "structural::frontend/src/pages/Settings.tsx", - "detector": "structural", - "file": "frontend/src/pages/Settings.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: large (1911 LOC) / mixed: jsx_rendering, data_fetching, data_transforms(5)", - "detail": { - "loc": 1911, - "concerns": [ - "jsx_rendering", - "data_fetching", - "data_transforms(5)" - ] - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/pages/Youtube.tsx": { - "id": "structural::frontend/src/pages/Youtube.tsx", - "detector": "structural", - "file": "frontend/src/pages/Youtube.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: large (1185 LOC) / mixed: jsx_rendering, data_fetching, data_transforms(12)", - "detail": { - "loc": 1185, - "concerns": [ - "jsx_rendering", - "data_fetching", - "data_transforms(12)", - "handlers(7)" - ] - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/pages/Calendar.tsx": { - "id": "structural::frontend/src/pages/Calendar.tsx", - "detector": "structural", - "file": "frontend/src/pages/Calendar.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: large (1114 LOC) / mixed: jsx_rendering, data_fetching, data_transforms(13)", - "detail": { - "loc": 1114, - "concerns": [ - "jsx_rendering", - "data_fetching", - "data_transforms(13)" - ] - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/pages/Dashboard.tsx": { - "id": "structural::frontend/src/pages/Dashboard.tsx", - "detector": "structural", - "file": "frontend/src/pages/Dashboard.tsx", - "tier": 4, - "confidence": "high", - "summary": "Needs decomposition: large (1108 LOC) / complexity score 19 / mixed: jsx_rendering, data_fetching, data_transforms(12)", - "detail": { - "loc": 1108, - "complexity_score": 19, - "complexity_signals": [ - "destructure w/27 props" - ], - "concerns": [ - "jsx_rendering", - "data_fetching", - "data_transforms(12)", - "handlers(8)" - ] - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/pages/Chat.tsx": { - "id": "structural::frontend/src/pages/Chat.tsx", - "detector": "structural", - "file": "frontend/src/pages/Chat.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: large (1014 LOC)", - "detail": { - "loc": 1014 - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/pages/Bookmarks.tsx": { - "id": "structural::frontend/src/pages/Bookmarks.tsx", - "detector": "structural", - "file": "frontend/src/pages/Bookmarks.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: large (805 LOC) / mixed: jsx_rendering, data_fetching, data_transforms(21)", - "detail": { - "loc": 805, - "concerns": [ - "jsx_rendering", - "data_fetching", - "data_transforms(21)", - "handlers(5)" - ] - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/components/search/EnhancedSearch.tsx": { - "id": "structural::frontend/src/components/search/EnhancedSearch.tsx", - "detector": "structural", - "file": "frontend/src/components/search/EnhancedSearch.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: large (781 LOC)", - "detail": { - "loc": 781 - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/lib/demo-mode.ts": { - "id": "structural::frontend/src/lib/demo-mode.ts", - "detector": "structural", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: large (727 LOC)", - "detail": { - "loc": 727 - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/pages/Notes.tsx": { - "id": "structural::frontend/src/pages/Notes.tsx", - "detector": "structural", - "file": "frontend/src/pages/Notes.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: large (664 LOC)", - "detail": { - "loc": 664 - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/pages/ColorSwitcher.tsx": { - "id": "structural::frontend/src/pages/ColorSwitcher.tsx", - "detector": "structural", - "file": "frontend/src/pages/ColorSwitcher.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: large (644 LOC)", - "detail": { - "loc": 644 - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/pages/Stats.tsx": { - "id": "structural::frontend/src/pages/Stats.tsx", - "detector": "structural", - "file": "frontend/src/pages/Stats.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: large (635 LOC)", - "detail": { - "loc": 635 - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/pages/AIChat.tsx": { - "id": "structural::frontend/src/pages/AIChat.tsx", - "detector": "structural", - "file": "frontend/src/pages/AIChat.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: large (579 LOC)", - "detail": { - "loc": 579 - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/components/TwoFactorAuth.tsx": { - "id": "structural::frontend/src/components/TwoFactorAuth.tsx", - "detector": "structural", - "file": "frontend/src/components/TwoFactorAuth.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: large (553 LOC)", - "detail": { - "loc": 553 - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/pages/GitHub.tsx": { - "id": "structural::frontend/src/pages/GitHub.tsx", - "detector": "structural", - "file": "frontend/src/pages/GitHub.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: large (553 LOC) / mixed: jsx_rendering, data_fetching, data_transforms(16)", - "detail": { - "loc": 553, - "concerns": [ - "jsx_rendering", - "data_fetching", - "data_transforms(16)" - ] - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::Others/oauth-service/src/components/CourseManagement.tsx": { - "id": "structural::Others/oauth-service/src/components/CourseManagement.tsx", - "detector": "structural", - "file": "Others/oauth-service/src/components/CourseManagement.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: large (537 LOC)", - "detail": { - "loc": 537 - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/pages/Analytics.tsx": { - "id": "structural::frontend/src/pages/Analytics.tsx", - "detector": "structural", - "file": "frontend/src/pages/Analytics.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: large (516 LOC) / mixed: jsx_rendering, data_fetching, data_transforms(7)", - "detail": { - "loc": 516, - "concerns": [ - "jsx_rendering", - "data_fetching", - "data_transforms(7)" - ] - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/pages/Files.tsx": { - "id": "structural::frontend/src/pages/Files.tsx", - "detector": "structural", - "file": "frontend/src/pages/Files.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: large (512 LOC) / mixed: jsx_rendering, data_fetching, data_transforms(8)", - "detail": { - "loc": 512, - "concerns": [ - "jsx_rendering", - "data_fetching", - "data_transforms(8)", - "handlers(5)" - ] - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/components/ui/UploadModal.tsx": { - "id": "structural::frontend/src/components/ui/UploadModal.tsx", - "detector": "structural", - "file": "frontend/src/components/ui/UploadModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: mixed: jsx_rendering, data_fetching, data_transforms(3)", - "detail": { - "concerns": [ - "jsx_rendering", - "data_fetching", - "data_transforms(3)", - "handlers(5)" - ], - "loc": 181 - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::Others/mobile-app/src/services/RealtimeSyncContext.tsx": { - "id": "structural::Others/mobile-app/src/services/RealtimeSyncContext.tsx", - "detector": "structural", - "file": "Others/mobile-app/src/services/RealtimeSyncContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: mixed: jsx_rendering, data_fetching, data_transforms(4)", - "detail": { - "concerns": [ - "jsx_rendering", - "data_fetching", - "data_transforms(4)" - ], - "loc": 280 - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/components/search/SavedSearches.tsx": { - "id": "structural::frontend/src/components/search/SavedSearches.tsx", - "detector": "structural", - "file": "frontend/src/components/search/SavedSearches.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: mixed: jsx_rendering, data_fetching, data_transforms(3)", - "detail": { - "concerns": [ - "jsx_rendering", - "data_fetching", - "data_transforms(3)" - ], - "loc": 483 - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/components/ui/FileUpload.tsx": { - "id": "structural::frontend/src/components/ui/FileUpload.tsx", - "detector": "structural", - "file": "frontend/src/components/ui/FileUpload.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: mixed: jsx_rendering, data_transforms(3), handlers(6)", - "detail": { - "concerns": [ - "jsx_rendering", - "data_transforms(3)", - "handlers(6)" - ], - "loc": 371 - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/pages/LearningPaths.tsx": { - "id": "structural::frontend/src/pages/LearningPaths.tsx", - "detector": "structural", - "file": "frontend/src/pages/LearningPaths.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: mixed: jsx_rendering, data_fetching, data_transforms(6)", - "detail": { - "concerns": [ - "jsx_rendering", - "data_fetching", - "data_transforms(6)" - ], - "loc": 492 - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/pages/RemovedStuff.tsx": { - "id": "structural::frontend/src/pages/RemovedStuff.tsx", - "detector": "structural", - "file": "frontend/src/pages/RemovedStuff.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: mixed: jsx_rendering, data_transforms(11), handlers(5)", - "detail": { - "concerns": [ - "jsx_rendering", - "data_transforms(11)", - "handlers(5)" - ], - "loc": 416 - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "structural::frontend/src/pages/Tasks.tsx": { - "id": "structural::frontend/src/pages/Tasks.tsx", - "detector": "structural", - "file": "frontend/src/pages/Tasks.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Needs decomposition: mixed: jsx_rendering, data_fetching, data_transforms(10)", - "detail": { - "concerns": [ - "jsx_rendering", - "data_fetching", - "data_transforms(10)" - ], - "loc": 350 - }, - "status": "wontfix", - "note": "Large files - could be decomposed but require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:53+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "flat_dirs::frontend/src/components/ui": { - "id": "flat_dirs::frontend/src/components/ui", - "detector": "flat_dirs", - "file": "frontend/src/components/ui", - "tier": 3, - "confidence": "medium", - "summary": "Flat directory: 47 files \u2014 consider grouping by domain", - "detail": { - "file_count": 47 - }, - "status": "wontfix", - "note": "Flat directory structure is intentional for this project - grouping would require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:13:40+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "flat_dirs::frontend/src/pages": { - "id": "flat_dirs::frontend/src/pages", - "detector": "flat_dirs", - "file": "frontend/src/pages", - "tier": 3, - "confidence": "medium", - "summary": "Flat directory: 27 files \u2014 consider grouping by domain", - "detail": { - "file_count": 27 - }, - "status": "wontfix", - "note": "Flat directory structure is intentional for this project - grouping would require significant refactoring", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:13:40+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "cycles::Others/mobile-app/src/navigation/AuthNavigator.tsx::Others/mobile-app/src/navigation/AuthNavigator.tsx::Others/mobile-app/src/screens/auth/RegisterScreen.tsx": { - "id": "cycles::Others/mobile-app/src/navigation/AuthNavigator.tsx::Others/mobile-app/src/navigation/AuthNavigator.tsx::Others/mobile-app/src/screens/auth/RegisterScreen.tsx", - "detector": "cycles", - "file": "Others/mobile-app/src/navigation/AuthNavigator.tsx", - "tier": 3, - "confidence": "high", - "summary": "Import cycle (2 files): Others/mobile-app/src/navigation/AuthNavigator.tsx -> Others/mobile-app/src/screens/auth/RegisterScreen.tsx", - "detail": { - "files": [ - "Others/mobile-app/src/navigation/AuthNavigator.tsx", - "Others/mobile-app/src/screens/auth/RegisterScreen.tsx" - ], - "length": 2 - }, - "status": "wontfix", - "note": "Import cycle - low priority fix for mobile app", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:24+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/search/EnhancedSearch.tsx": { - "id": "orphaned::frontend/src/components/search/EnhancedSearch.tsx", - "detector": "orphaned", - "file": "frontend/src/components/search/EnhancedSearch.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (781 LOC): zero importers, not an entry point", - "detail": { - "loc": 781 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/TwoFactorAuth.tsx": { - "id": "orphaned::frontend/src/components/TwoFactorAuth.tsx", - "detector": "orphaned", - "file": "frontend/src/components/TwoFactorAuth.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (553 LOC): zero importers, not an entry point", - "detail": { - "loc": 553 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/Timer.tsx": { - "id": "orphaned::frontend/src/components/Timer.tsx", - "detector": "orphaned", - "file": "frontend/src/components/Timer.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (467 LOC): zero importers, not an entry point", - "detail": { - "loc": 467 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/GitHubActivity.tsx": { - "id": "orphaned::frontend/src/components/ui/GitHubActivity.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/GitHubActivity.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (460 LOC): zero importers, not an entry point", - "detail": { - "loc": 460 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/DateRangePicker.tsx": { - "id": "orphaned::frontend/src/components/ui/DateRangePicker.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/DateRangePicker.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (410 LOC): zero importers, not an entry point", - "detail": { - "loc": 410 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/FileUploadModal.tsx": { - "id": "orphaned::frontend/src/components/ui/FileUploadModal.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/FileUploadModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (389 LOC): zero importers, not an entry point", - "detail": { - "loc": 389 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/search/BrowserSearch.tsx": { - "id": "orphaned::frontend/src/components/search/BrowserSearch.tsx", - "detector": "orphaned", - "file": "frontend/src/components/search/BrowserSearch.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (376 LOC): zero importers, not an entry point", - "detail": { - "loc": 376 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/FileUpload.tsx": { - "id": "orphaned::frontend/src/components/ui/FileUpload.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/FileUpload.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (371 LOC): zero importers, not an entry point", - "detail": { - "loc": 371 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/ColorPicker.tsx": { - "id": "orphaned::frontend/src/components/ui/ColorPicker.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/ColorPicker.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (320 LOC): zero importers, not an entry point", - "detail": { - "loc": 320 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/ActivityFeed.tsx": { - "id": "orphaned::frontend/src/components/ui/ActivityFeed.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/ActivityFeed.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (292 LOC): zero importers, not an entry point", - "detail": { - "loc": 292 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/DatePicker.tsx": { - "id": "orphaned::frontend/src/components/ui/DatePicker.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/DatePicker.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (287 LOC): zero importers, not an entry point", - "detail": { - "loc": 287 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/search/QuickSearch.tsx": { - "id": "orphaned::frontend/src/components/search/QuickSearch.tsx", - "detector": "orphaned", - "file": "frontend/src/components/search/QuickSearch.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (273 LOC): zero importers, not an entry point", - "detail": { - "loc": 273 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/LearningPathModal.tsx": { - "id": "orphaned::frontend/src/components/ui/LearningPathModal.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/LearningPathModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (270 LOC): zero importers, not an entry point", - "detail": { - "loc": 270 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/FilePreviewModal.tsx": { - "id": "orphaned::frontend/src/components/ui/FilePreviewModal.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/FilePreviewModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (257 LOC): zero importers, not an entry point", - "detail": { - "loc": 257 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/ExportImport.tsx": { - "id": "orphaned::frontend/src/components/ui/ExportImport.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/ExportImport.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (248 LOC): zero importers, not an entry point", - "detail": { - "loc": 248 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/ViewNoteModal.tsx": { - "id": "orphaned::frontend/src/components/ui/ViewNoteModal.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/ViewNoteModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (248 LOC): zero importers, not an entry point", - "detail": { - "loc": 248 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/LearningPathPreviewModal.tsx": { - "id": "orphaned::frontend/src/components/ui/LearningPathPreviewModal.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/LearningPathPreviewModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (247 LOC): zero importers, not an entry point", - "detail": { - "loc": 247 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/TimeEntriesList.tsx": { - "id": "orphaned::frontend/src/components/TimeEntriesList.tsx", - "detector": "orphaned", - "file": "frontend/src/components/TimeEntriesList.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (232 LOC): zero importers, not an entry point", - "detail": { - "loc": 232 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/utils/fileTypes.ts": { - "id": "orphaned::frontend/src/utils/fileTypes.ts", - "detector": "orphaned", - "file": "frontend/src/utils/fileTypes.ts", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (228 LOC): zero importers, not an entry point", - "detail": { - "loc": 228 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/SearchFilters.tsx": { - "id": "orphaned::frontend/src/components/ui/SearchFilters.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/SearchFilters.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (222 LOC): zero importers, not an entry point", - "detail": { - "loc": 222 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/RichTextEditor.tsx": { - "id": "orphaned::frontend/src/components/ui/RichTextEditor.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/RichTextEditor.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (209 LOC): zero importers, not an entry point", - "detail": { - "loc": 209 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/layout/Layout.tsx": { - "id": "orphaned::frontend/src/components/layout/Layout.tsx", - "detector": "orphaned", - "file": "frontend/src/components/layout/Layout.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (195 LOC): zero importers, not an entry point", - "detail": { - "loc": 195 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/layout/FloatingAI.tsx": { - "id": "orphaned::frontend/src/components/layout/FloatingAI.tsx", - "detector": "orphaned", - "file": "frontend/src/components/layout/FloatingAI.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (185 LOC): zero importers, not an entry point", - "detail": { - "loc": 185 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/UploadModal.tsx": { - "id": "orphaned::frontend/src/components/ui/UploadModal.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/UploadModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (181 LOC): zero importers, not an entry point", - "detail": { - "loc": 181 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/uno.config.ts": { - "id": "orphaned::frontend/uno.config.ts", - "detector": "orphaned", - "file": "frontend/uno.config.ts", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (161 LOC): zero importers, not an entry point", - "detail": { - "loc": 161 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/TaskModal.tsx": { - "id": "orphaned::frontend/src/components/ui/TaskModal.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/TaskModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (156 LOC): zero importers, not an entry point", - "detail": { - "loc": 156 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/EditBookmarkModal.tsx": { - "id": "orphaned::frontend/src/components/ui/EditBookmarkModal.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/EditBookmarkModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (149 LOC): zero importers, not an entry point", - "detail": { - "loc": 149 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/BookmarkModal.tsx": { - "id": "orphaned::frontend/src/components/ui/BookmarkModal.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/BookmarkModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (143 LOC): zero importers, not an entry point", - "detail": { - "loc": 143 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/Toast.tsx": { - "id": "orphaned::frontend/src/components/ui/Toast.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/Toast.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (137 LOC): zero importers, not an entry point", - "detail": { - "loc": 137 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/TagPicker.tsx": { - "id": "orphaned::frontend/src/components/ui/TagPicker.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/TagPicker.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (136 LOC): zero importers, not an entry point", - "detail": { - "loc": 136 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/ColorSwitcherDropdown.tsx": { - "id": "orphaned::frontend/src/components/ui/ColorSwitcherDropdown.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/ColorSwitcherDropdown.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (128 LOC): zero importers, not an entry point", - "detail": { - "loc": 128 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/MemberModal.tsx": { - "id": "orphaned::frontend/src/components/ui/MemberModal.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/MemberModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (128 LOC): zero importers, not an entry point", - "detail": { - "loc": 128 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/lib/export-import.ts": { - "id": "orphaned::frontend/src/lib/export-import.ts", - "detector": "orphaned", - "file": "frontend/src/lib/export-import.ts", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (128 LOC): zero importers, not an entry point", - "detail": { - "loc": 128 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/VideoUploadModal.tsx": { - "id": "orphaned::frontend/src/components/ui/VideoUploadModal.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/VideoUploadModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (125 LOC): zero importers, not an entry point", - "detail": { - "loc": 125 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/VirtualList.tsx": { - "id": "orphaned::frontend/src/components/ui/VirtualList.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/VirtualList.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (117 LOC): zero importers, not an entry point", - "detail": { - "loc": 117 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/hooks/useLocalStorage.ts": { - "id": "orphaned::frontend/src/hooks/useLocalStorage.ts", - "detector": "orphaned", - "file": "frontend/src/hooks/useLocalStorage.ts", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (112 LOC): zero importers, not an entry point", - "detail": { - "loc": 112 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/UserProfileDropdown.tsx": { - "id": "orphaned::frontend/src/components/ui/UserProfileDropdown.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/UserProfileDropdown.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (111 LOC): zero importers, not an entry point", - "detail": { - "loc": 111 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/NoteModal.tsx": { - "id": "orphaned::frontend/src/components/ui/NoteModal.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/NoteModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (107 LOC): zero importers, not an entry point", - "detail": { - "loc": 107 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::Others/mobile-app/src/utils/notifications.ts": { - "id": "orphaned::Others/mobile-app/src/utils/notifications.ts", - "detector": "orphaned", - "file": "Others/mobile-app/src/utils/notifications.ts", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (106 LOC): zero importers, not an entry point", - "detail": { - "loc": 106 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/tabs-simple.tsx": { - "id": "orphaned::frontend/src/components/ui/tabs-simple.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/tabs-simple.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (100 LOC): zero importers, not an entry point", - "detail": { - "loc": 100 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/AuthenticationWarning.tsx": { - "id": "orphaned::frontend/src/components/AuthenticationWarning.tsx", - "detector": "orphaned", - "file": "frontend/src/components/AuthenticationWarning.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (92 LOC): zero importers, not an entry point", - "detail": { - "loc": 92 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/ConfirmModal.tsx": { - "id": "orphaned::frontend/src/components/ui/ConfirmModal.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/ConfirmModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (89 LOC): zero importers, not an entry point", - "detail": { - "loc": 89 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/Dialog.tsx": { - "id": "orphaned::frontend/src/components/ui/Dialog.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/Dialog.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (87 LOC): zero importers, not an entry point", - "detail": { - "loc": 87 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/ErrorBoundary.tsx": { - "id": "orphaned::frontend/src/components/ui/ErrorBoundary.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/ErrorBoundary.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (86 LOC): zero importers, not an entry point", - "detail": { - "loc": 86 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/EnhancedCard.tsx": { - "id": "orphaned::frontend/src/components/ui/EnhancedCard.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/EnhancedCard.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (81 LOC): zero importers, not an entry point", - "detail": { - "loc": 81 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/select-simple.tsx": { - "id": "orphaned::frontend/src/components/ui/select-simple.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/select-simple.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (79 LOC): zero importers, not an entry point", - "detail": { - "loc": 79 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/VideoPreviewModal.tsx": { - "id": "orphaned::frontend/src/components/ui/VideoPreviewModal.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/VideoPreviewModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (74 LOC): zero importers, not an entry point", - "detail": { - "loc": 74 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/ResponsiveGrid.tsx": { - "id": "orphaned::frontend/src/components/ui/ResponsiveGrid.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/ResponsiveGrid.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (70 LOC): zero importers, not an entry point", - "detail": { - "loc": 70 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/LoadingState.tsx": { - "id": "orphaned::frontend/src/components/ui/LoadingState.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/LoadingState.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (69 LOC): zero importers, not an entry point", - "detail": { - "loc": 69 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/SearchTagFilterBar.tsx": { - "id": "orphaned::frontend/src/components/ui/SearchTagFilterBar.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/SearchTagFilterBar.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (53 LOC): zero importers, not an entry point", - "detail": { - "loc": 53 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/Switch.tsx": { - "id": "orphaned::frontend/src/components/ui/Switch.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/Switch.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (43 LOC): zero importers, not an entry point", - "detail": { - "loc": 43 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/hooks/useDebounce.ts": { - "id": "orphaned::frontend/src/hooks/useDebounce.ts", - "detector": "orphaned", - "file": "frontend/src/hooks/useDebounce.ts", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (43 LOC): zero importers, not an entry point", - "detail": { - "loc": 43 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/lib/utils.ts": { - "id": "orphaned::frontend/src/lib/utils.ts", - "detector": "orphaned", - "file": "frontend/src/lib/utils.ts", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (43 LOC): zero importers, not an entry point", - "detail": { - "loc": 43 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/badge.tsx": { - "id": "orphaned::frontend/src/components/ui/badge.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/badge.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (42 LOC): zero importers, not an entry point", - "detail": { - "loc": 42 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/LoadingSpinner.tsx": { - "id": "orphaned::frontend/src/components/ui/LoadingSpinner.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/LoadingSpinner.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (35 LOC): zero importers, not an entry point", - "detail": { - "loc": 35 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ProtectedRoute.tsx": { - "id": "orphaned::frontend/src/components/ProtectedRoute.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ProtectedRoute.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (32 LOC): zero importers, not an entry point", - "detail": { - "loc": 32 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/label.tsx": { - "id": "orphaned::frontend/src/components/ui/label.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/label.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (24 LOC): zero importers, not an entry point", - "detail": { - "loc": 24 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "orphaned::frontend/src/components/ui/Textarea.tsx": { - "id": "orphaned::frontend/src/components/ui/Textarea.tsx", - "detector": "orphaned", - "file": "frontend/src/components/ui/Textarea.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Orphaned file (18 LOC): zero importers, not an entry point", - "detail": { - "loc": 18 - }, - "status": "false_positive", - "note": "Files used in routing/JSX which static analysis doesn't detect", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:54+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/lib/mockData.ts": { - "id": "test_coverage::frontend/src/lib/mockData.ts", - "detector": "test_coverage", - "file": "frontend/src/lib/mockData.ts", - "tier": 3, - "confidence": "high", - "summary": "Untested module (2674 LOC, 1 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 2674, - "importer_count": 1, - "loc_weight": 50 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/Settings.tsx": { - "id": "test_coverage::frontend/src/pages/Settings.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/Settings.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (1911 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 1911, - "importer_count": 0, - "loc_weight": 43.71498598878879 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/Youtube.tsx": { - "id": "test_coverage::frontend/src/pages/Youtube.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/Youtube.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (1185 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 1185, - "importer_count": 0, - "loc_weight": 34.42382895611701 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/Calendar.tsx": { - "id": "test_coverage::frontend/src/pages/Calendar.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/Calendar.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (1114 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 1114, - "importer_count": 0, - "loc_weight": 33.37663853655727 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/Dashboard.tsx": { - "id": "test_coverage::frontend/src/pages/Dashboard.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/Dashboard.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (1108 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 1108, - "importer_count": 0, - "loc_weight": 33.28663395418648 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/Chat.tsx": { - "id": "test_coverage::frontend/src/pages/Chat.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/Chat.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (1014 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 1014, - "importer_count": 0, - "loc_weight": 31.843366656181317 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/Bookmarks.tsx": { - "id": "test_coverage::frontend/src/pages/Bookmarks.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/Bookmarks.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (805 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 805, - "importer_count": 0, - "loc_weight": 28.372521918222215 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/components/search/EnhancedSearch.tsx": { - "id": "test_coverage::frontend/src/components/search/EnhancedSearch.tsx", - "detector": "test_coverage", - "file": "frontend/src/components/search/EnhancedSearch.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (781 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 781, - "importer_count": 0, - "loc_weight": 27.94637722496424 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/lib/demo-mode.ts": { - "id": "test_coverage::frontend/src/lib/demo-mode.ts", - "detector": "test_coverage", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 3, - "confidence": "high", - "summary": "Untested module (727 LOC, 1 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 727, - "importer_count": 1, - "loc_weight": 26.962937525425527 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/Notes.tsx": { - "id": "test_coverage::frontend/src/pages/Notes.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/Notes.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (664 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 664, - "importer_count": 0, - "loc_weight": 25.768197453450252 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/ColorSwitcher.tsx": { - "id": "test_coverage::frontend/src/pages/ColorSwitcher.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/ColorSwitcher.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (644 LOC, 1 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 644, - "importer_count": 1, - "loc_weight": 25.37715508089904 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/Stats.tsx": { - "id": "test_coverage::frontend/src/pages/Stats.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/Stats.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (635 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 635, - "importer_count": 0, - "loc_weight": 25.199206336708304 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/AIChat.tsx": { - "id": "test_coverage::frontend/src/pages/AIChat.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/AIChat.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (579 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 579, - "importer_count": 0, - "loc_weight": 24.06241883103193 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/components/TwoFactorAuth.tsx": { - "id": "test_coverage::frontend/src/components/TwoFactorAuth.tsx", - "detector": "test_coverage", - "file": "frontend/src/components/TwoFactorAuth.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (553 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 553, - "importer_count": 0, - "loc_weight": 23.515952032609693 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/GitHub.tsx": { - "id": "test_coverage::frontend/src/pages/GitHub.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/GitHub.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (553 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 553, - "importer_count": 0, - "loc_weight": 23.515952032609693 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::Others/oauth-service/src/components/CourseManagement.tsx": { - "id": "test_coverage::Others/oauth-service/src/components/CourseManagement.tsx", - "detector": "test_coverage", - "file": "Others/oauth-service/src/components/CourseManagement.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (537 LOC, 1 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 537, - "importer_count": 1, - "loc_weight": 23.173260452512935 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/Analytics.tsx": { - "id": "test_coverage::frontend/src/pages/Analytics.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/Analytics.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (516 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 516, - "importer_count": 0, - "loc_weight": 22.715633383201094 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/Files.tsx": { - "id": "test_coverage::frontend/src/pages/Files.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/Files.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (512 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 512, - "importer_count": 0, - "loc_weight": 22.627416997969522 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/LearningPaths.tsx": { - "id": "test_coverage::frontend/src/pages/LearningPaths.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/LearningPaths.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (492 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 492, - "importer_count": 0, - "loc_weight": 22.181073012818835 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/components/search/SavedSearches.tsx": { - "id": "test_coverage::frontend/src/components/search/SavedSearches.tsx", - "detector": "test_coverage", - "file": "frontend/src/components/search/SavedSearches.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (483 LOC, 1 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 483, - "importer_count": 1, - "loc_weight": 21.97726097583591 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/components/Timer.tsx": { - "id": "test_coverage::frontend/src/components/Timer.tsx", - "detector": "test_coverage", - "file": "frontend/src/components/Timer.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (467 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 467, - "importer_count": 0, - "loc_weight": 21.61018278497431 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/components/ui/GitHubActivity.tsx": { - "id": "test_coverage::frontend/src/components/ui/GitHubActivity.tsx", - "detector": "test_coverage", - "file": "frontend/src/components/ui/GitHubActivity.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (460 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 460, - "importer_count": 0, - "loc_weight": 21.447610589527216 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/lib/api.ts": { - "id": "test_coverage::frontend/src/lib/api.ts", - "detector": "test_coverage", - "file": "frontend/src/lib/api.ts", - "tier": 3, - "confidence": "high", - "summary": "Untested module (458 LOC, 2 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 458, - "importer_count": 2, - "loc_weight": 21.400934559032695 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::Others/mobile-app/src/screens/DashboardScreen.tsx": { - "id": "test_coverage::Others/mobile-app/src/screens/DashboardScreen.tsx", - "detector": "test_coverage", - "file": "Others/mobile-app/src/screens/DashboardScreen.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (444 LOC, 1 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 444, - "importer_count": 1, - "loc_weight": 21.071307505705477 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/lib/auth.tsx": { - "id": "test_coverage::frontend/src/lib/auth.tsx", - "detector": "test_coverage", - "file": "frontend/src/lib/auth.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (422 LOC, 1 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 422, - "importer_count": 1, - "loc_weight": 20.54263858417414 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/RemovedStuff.tsx": { - "id": "test_coverage::frontend/src/pages/RemovedStuff.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/RemovedStuff.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (416 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 416, - "importer_count": 0, - "loc_weight": 20.396078054371138 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/components/ui/DateRangePicker.tsx": { - "id": "test_coverage::frontend/src/components/ui/DateRangePicker.tsx", - "detector": "test_coverage", - "file": "frontend/src/components/ui/DateRangePicker.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (410 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 410, - "importer_count": 0, - "loc_weight": 20.248456731316587 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::Others/mobile-app/src/screens/AIAssistantScreen.tsx": { - "id": "test_coverage::Others/mobile-app/src/screens/AIAssistantScreen.tsx", - "detector": "test_coverage", - "file": "Others/mobile-app/src/screens/AIAssistantScreen.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (400 LOC, 1 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 400, - "importer_count": 1, - "loc_weight": 20.0 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/AdminDashboard.tsx": { - "id": "test_coverage::frontend/src/pages/AdminDashboard.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/AdminDashboard.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (404 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 404, - "importer_count": 0, - "loc_weight": 20.09975124224178 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/components/ui/FileUploadModal.tsx": { - "id": "test_coverage::frontend/src/components/ui/FileUploadModal.tsx", - "detector": "test_coverage", - "file": "frontend/src/components/ui/FileUploadModal.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (389 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 389, - "importer_count": 0, - "loc_weight": 19.72308292331602 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::Others/oauth-service/src/components/InstanceManagement.tsx": { - "id": "test_coverage::Others/oauth-service/src/components/InstanceManagement.tsx", - "detector": "test_coverage", - "file": "Others/oauth-service/src/components/InstanceManagement.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (388 LOC, 1 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 388, - "importer_count": 1, - "loc_weight": 19.697715603592208 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/components/search/BrowserSearch.tsx": { - "id": "test_coverage::frontend/src/components/search/BrowserSearch.tsx", - "detector": "test_coverage", - "file": "frontend/src/components/search/BrowserSearch.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (376 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 376, - "importer_count": 0, - "loc_weight": 19.390719429665317 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/lib/api-client.ts": { - "id": "test_coverage::frontend/src/lib/api-client.ts", - "detector": "test_coverage", - "file": "frontend/src/lib/api-client.ts", - "tier": 3, - "confidence": "high", - "summary": "Untested module (373 LOC, 1 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 373, - "importer_count": 1, - "loc_weight": 19.313207915827967 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/components/ui/FileUpload.tsx": { - "id": "test_coverage::frontend/src/components/ui/FileUpload.tsx", - "detector": "test_coverage", - "file": "frontend/src/components/ui/FileUpload.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (371 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 371, - "importer_count": 0, - "loc_weight": 19.261360284258224 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/Tasks.tsx": { - "id": "test_coverage::frontend/src/pages/Tasks.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/Tasks.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (350 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 350, - "importer_count": 0, - "loc_weight": 18.708286933869708 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/lib/demo-api.ts": { - "id": "test_coverage::frontend/src/lib/demo-api.ts", - "detector": "test_coverage", - "file": "frontend/src/lib/demo-api.ts", - "tier": 3, - "confidence": "high", - "summary": "Untested module (342 LOC, 1 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 342, - "importer_count": 1, - "loc_weight": 18.49324200890693 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::Others/mobile-app/src/screens/ServerSetupScreen.tsx": { - "id": "test_coverage::Others/mobile-app/src/screens/ServerSetupScreen.tsx", - "detector": "test_coverage", - "file": "Others/mobile-app/src/screens/ServerSetupScreen.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (321 LOC, 1 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 321, - "importer_count": 1, - "loc_weight": 17.916472867168917 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::Others/mobile-app/src/screens/SettingsScreen.tsx": { - "id": "test_coverage::Others/mobile-app/src/screens/SettingsScreen.tsx", - "detector": "test_coverage", - "file": "Others/mobile-app/src/screens/SettingsScreen.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (324 LOC, 1 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 324, - "importer_count": 1, - "loc_weight": 18.0 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::Others/mobile-app/src/services/api.ts": { - "id": "test_coverage::Others/mobile-app/src/services/api.ts", - "detector": "test_coverage", - "file": "Others/mobile-app/src/services/api.ts", - "tier": 3, - "confidence": "high", - "summary": "Untested module (321 LOC, 4 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 321, - "importer_count": 4, - "loc_weight": 17.916472867168917 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/components/ui/ColorPicker.tsx": { - "id": "test_coverage::frontend/src/components/ui/ColorPicker.tsx", - "detector": "test_coverage", - "file": "frontend/src/components/ui/ColorPicker.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (320 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 320, - "importer_count": 0, - "loc_weight": 17.88854381999832 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/components/ui/ActivityFeed.tsx": { - "id": "test_coverage::frontend/src/components/ui/ActivityFeed.tsx", - "detector": "test_coverage", - "file": "frontend/src/components/ui/ActivityFeed.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (292 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 292, - "importer_count": 0, - "loc_weight": 17.08800749063506 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/components/ui/DatePicker.tsx": { - "id": "test_coverage::frontend/src/components/ui/DatePicker.tsx", - "detector": "test_coverage", - "file": "frontend/src/components/ui/DatePicker.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (287 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 287, - "importer_count": 0, - "loc_weight": 16.941074346097416 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/components/layout/Sidebar.tsx": { - "id": "test_coverage::frontend/src/components/layout/Sidebar.tsx", - "detector": "test_coverage", - "file": "frontend/src/components/layout/Sidebar.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (282 LOC, 1 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 282, - "importer_count": 1, - "loc_weight": 16.792855623746664 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::Others/mobile-app/src/services/RealtimeSyncContext.tsx": { - "id": "test_coverage::Others/mobile-app/src/services/RealtimeSyncContext.tsx", - "detector": "test_coverage", - "file": "Others/mobile-app/src/services/RealtimeSyncContext.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (280 LOC, 3 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 280, - "importer_count": 3, - "loc_weight": 16.73320053068151 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/AdminSettings.tsx": { - "id": "test_coverage::frontend/src/pages/AdminSettings.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/AdminSettings.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (276 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 276, - "importer_count": 0, - "loc_weight": 16.61324772583615 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/components/search/QuickSearch.tsx": { - "id": "test_coverage::frontend/src/components/search/QuickSearch.tsx", - "detector": "test_coverage", - "file": "frontend/src/components/search/QuickSearch.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (273 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 273, - "importer_count": 0, - "loc_weight": 16.522711641858304 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/components/ui/LearningPathModal.tsx": { - "id": "test_coverage::frontend/src/components/ui/LearningPathModal.tsx", - "detector": "test_coverage", - "file": "frontend/src/components/ui/LearningPathModal.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (270 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 270, - "importer_count": 0, - "loc_weight": 16.431676725154983 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::frontend/src/pages/QuickSelection.tsx": { - "id": "test_coverage::frontend/src/pages/QuickSelection.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/QuickSelection.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (266 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 266, - "importer_count": 0, - "loc_weight": 16.30950643030009 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "test_coverage::Others/oauth-service/src/components/Dashboard.tsx": { - "id": "test_coverage::Others/oauth-service/src/components/Dashboard.tsx", - "detector": "test_coverage", - "file": "Others/oauth-service/src/components/Dashboard.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (262 LOC, 1 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 262, - "importer_count": 1, - "loc_weight": 16.186414056238647 - }, - "status": "wontfix", - "note": "Test coverage improvement is a separate effort - not blocking", - "first_seen": "2026-02-18T12:34:00+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:58+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/AIAssistantScreen.tsx::monster_function": { - "id": "smells::Others/mobile-app/src/screens/AIAssistantScreen.tsx::monster_function", - "detector": "smells", - "file": "Others/mobile-app/src/screens/AIAssistantScreen.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 30 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/DashboardScreen.tsx::monster_function": { - "id": "smells::Others/mobile-app/src/screens/DashboardScreen.tsx::monster_function", - "detector": "smells", - "file": "Others/mobile-app/src/screens/DashboardScreen.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 27 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/ServerSetupScreen.tsx::monster_function": { - "id": "smells::Others/mobile-app/src/screens/ServerSetupScreen.tsx::monster_function", - "detector": "smells", - "file": "Others/mobile-app/src/screens/ServerSetupScreen.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 27 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/SettingsScreen.tsx::monster_function": { - "id": "smells::Others/mobile-app/src/screens/SettingsScreen.tsx::monster_function", - "detector": "smells", - "file": "Others/mobile-app/src/screens/SettingsScreen.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 10 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/oauth-service/src/components/CourseManagement.tsx::monster_function": { - "id": "smells::Others/oauth-service/src/components/CourseManagement.tsx::monster_function", - "detector": "smells", - "file": "Others/oauth-service/src/components/CourseManagement.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 44 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/oauth-service/src/components/Dashboard.tsx::monster_function": { - "id": "smells::Others/oauth-service/src/components/Dashboard.tsx::monster_function", - "detector": "smells", - "file": "Others/oauth-service/src/components/Dashboard.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 33 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/oauth-service/src/components/InstanceManagement.tsx::monster_function": { - "id": "smells::Others/oauth-service/src/components/InstanceManagement.tsx::monster_function", - "detector": "smells", - "file": "Others/oauth-service/src/components/InstanceManagement.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 15 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/App.tsx::monster_function": { - "id": "smells::frontend/src/App.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/App.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 78 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/TimeEntriesList.tsx::monster_function": { - "id": "smells::frontend/src/components/TimeEntriesList.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/TimeEntriesList.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 17 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/Timer.tsx::monster_function": { - "id": "smells::frontend/src/components/Timer.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/Timer.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 26 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/TwoFactorAuth.tsx::monster_function": { - "id": "smells::frontend/src/components/TwoFactorAuth.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/TwoFactorAuth.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 16 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/layout/AIChatPanel.tsx::monster_function": { - "id": "smells::frontend/src/components/layout/AIChatPanel.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/layout/AIChatPanel.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 26 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/layout/FloatingAI.tsx::monster_function": { - "id": "smells::frontend/src/components/layout/FloatingAI.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/layout/FloatingAI.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 17 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/layout/Layout.tsx::monster_function": { - "id": "smells::frontend/src/components/layout/Layout.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/layout/Layout.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 14 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/layout/Sidebar.tsx::monster_function": { - "id": "smells::frontend/src/components/layout/Sidebar.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/layout/Sidebar.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 56 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/search/BrowserSearch.tsx::monster_function": { - "id": "smells::frontend/src/components/search/BrowserSearch.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/search/BrowserSearch.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 10 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/search/EnhancedSearch.tsx::monster_function": { - "id": "smells::frontend/src/components/search/EnhancedSearch.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/search/EnhancedSearch.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 77 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/search/QuickSearch.tsx::monster_function": { - "id": "smells::frontend/src/components/search/QuickSearch.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/search/QuickSearch.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 15 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/search/SavedSearches.tsx::monster_function": { - "id": "smells::frontend/src/components/search/SavedSearches.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/search/SavedSearches.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 44 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/ActivityFeed.tsx::monster_function": { - "id": "smells::frontend/src/components/ui/ActivityFeed.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/ui/ActivityFeed.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 38 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/ColorPicker.tsx::monster_function": { - "id": "smells::frontend/src/components/ui/ColorPicker.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/ui/ColorPicker.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 18 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/DatePicker.tsx::monster_function": { - "id": "smells::frontend/src/components/ui/DatePicker.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/ui/DatePicker.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 16 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/DateRangePicker.tsx::monster_function": { - "id": "smells::frontend/src/components/ui/DateRangePicker.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/ui/DateRangePicker.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 67 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/ExportImport.tsx::monster_function": { - "id": "smells::frontend/src/components/ui/ExportImport.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/ui/ExportImport.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 17 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/FilePreviewModal.tsx::monster_function": { - "id": "smells::frontend/src/components/ui/FilePreviewModal.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/ui/FilePreviewModal.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 11 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/FileUpload.tsx::monster_function": { - "id": "smells::frontend/src/components/ui/FileUpload.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/ui/FileUpload.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 33 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/FileUploadModal.tsx::monster_function": { - "id": "smells::frontend/src/components/ui/FileUploadModal.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/ui/FileUploadModal.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 29 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/GitHubActivity.tsx::monster_function": { - "id": "smells::frontend/src/components/ui/GitHubActivity.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/ui/GitHubActivity.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 43 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/LearningPathModal.tsx::monster_function": { - "id": "smells::frontend/src/components/ui/LearningPathModal.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/ui/LearningPathModal.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 24 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/LearningPathPreviewModal.tsx::monster_function": { - "id": "smells::frontend/src/components/ui/LearningPathPreviewModal.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/ui/LearningPathPreviewModal.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 46 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/RichTextEditor.tsx::monster_function": { - "id": "smells::frontend/src/components/ui/RichTextEditor.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/ui/RichTextEditor.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 27 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/SearchFilters.tsx::monster_function": { - "id": "smells::frontend/src/components/ui/SearchFilters.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/ui/SearchFilters.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 19 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/UpdateChecker.tsx::monster_function": { - "id": "smells::frontend/src/components/ui/UpdateChecker.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/ui/UpdateChecker.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 15 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/UploadModal.tsx::monster_function": { - "id": "smells::frontend/src/components/ui/UploadModal.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/ui/UploadModal.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 10 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/ViewNoteModal.tsx::monster_function": { - "id": "smells::frontend/src/components/ui/ViewNoteModal.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/components/ui/ViewNoteModal.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 36 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/lib/auth.tsx::monster_function": { - "id": "smells::frontend/src/lib/auth.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/lib/auth.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 65 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/lib/demo-mode.ts::monster_function": { - "id": "smells::frontend/src/lib/demo-mode.ts::monster_function", - "detector": "smells", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 225 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/AIAssistant.tsx::monster_function": { - "id": "smells::frontend/src/pages/AIAssistant.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/pages/AIAssistant.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 15 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/AIChat.tsx::monster_function": { - "id": "smells::frontend/src/pages/AIChat.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/pages/AIChat.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 32 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Activity.tsx::monster_function": { - "id": "smells::frontend/src/pages/Activity.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/pages/Activity.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 14 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/AdminDashboard.tsx::monster_function": { - "id": "smells::frontend/src/pages/AdminDashboard.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/pages/AdminDashboard.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 53 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/AdminSettings.tsx::monster_function": { - "id": "smells::frontend/src/pages/AdminSettings.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/pages/AdminSettings.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 14 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Analytics.tsx::monster_function": { - "id": "smells::frontend/src/pages/Analytics.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/pages/Analytics.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 119 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Chat.tsx::monster_function": { - "id": "smells::frontend/src/pages/Chat.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/pages/Chat.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 38 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/ColorSwitcher.tsx::monster_function": { - "id": "smells::frontend/src/pages/ColorSwitcher.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/pages/ColorSwitcher.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 14 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Dashboard.tsx::monster_function": { - "id": "smells::frontend/src/pages/Dashboard.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/pages/Dashboard.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 115 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Files.tsx::monster_function": { - "id": "smells::frontend/src/pages/Files.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/pages/Files.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 41 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/GitHub.tsx::monster_function": { - "id": "smells::frontend/src/pages/GitHub.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/pages/GitHub.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 53 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/LearningPaths.tsx::monster_function": { - "id": "smells::frontend/src/pages/LearningPaths.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/pages/LearningPaths.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 63 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Login.tsx::monster_function": { - "id": "smells::frontend/src/pages/Login.tsx::monster_function", - "detector": "smells", - "file": "frontend/src/pages/Login.tsx", - "tier": 2, - "confidence": "medium", - "summary": "1x Monster function (>150 LOC)", - "detail": { - "smell_id": "monster_function", - "severity": "high", - "count": 1, - "lines": [ - 6 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/AIAssistantScreen.tsx::hardcoded_color": { - "id": "smells::Others/mobile-app/src/screens/AIAssistantScreen.tsx::hardcoded_color", - "detector": "smells", - "file": "Others/mobile-app/src/screens/AIAssistantScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "7x Hardcoded color values", - "detail": { - "smell_id": "hardcoded_color", - "severity": "medium", - "count": 7, - "lines": [ - 302, - 305, - 350, - 353, - 357, - 370, - 383 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/BookmarksScreen.tsx::hardcoded_color": { - "id": "smells::Others/mobile-app/src/screens/BookmarksScreen.tsx::hardcoded_color", - "detector": "smells", - "file": "Others/mobile-app/src/screens/BookmarksScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x Hardcoded color values", - "detail": { - "smell_id": "hardcoded_color", - "severity": "medium", - "count": 2, - "lines": [ - 91, - 102 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/DashboardScreen.tsx::hardcoded_color": { - "id": "smells::Others/mobile-app/src/screens/DashboardScreen.tsx::hardcoded_color", - "detector": "smells", - "file": "Others/mobile-app/src/screens/DashboardScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "12x Hardcoded color values", - "detail": { - "smell_id": "hardcoded_color", - "severity": "medium", - "count": 12, - "lines": [ - 168, - 177, - 186, - 204, - 333, - 356, - 367, - 374, - 385, - 407 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/LoadingScreen.tsx::hardcoded_color": { - "id": "smells::Others/mobile-app/src/screens/LoadingScreen.tsx::hardcoded_color", - "detector": "smells", - "file": "Others/mobile-app/src/screens/LoadingScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Hardcoded color values", - "detail": { - "smell_id": "hardcoded_color", - "severity": "medium", - "count": 1, - "lines": [ - 24 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/NotesScreen.tsx::hardcoded_color": { - "id": "smells::Others/mobile-app/src/screens/NotesScreen.tsx::hardcoded_color", - "detector": "smells", - "file": "Others/mobile-app/src/screens/NotesScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x Hardcoded color values", - "detail": { - "smell_id": "hardcoded_color", - "severity": "medium", - "count": 2, - "lines": [ - 81, - 91 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/SearchScreen.tsx::hardcoded_color": { - "id": "smells::Others/mobile-app/src/screens/SearchScreen.tsx::hardcoded_color", - "detector": "smells", - "file": "Others/mobile-app/src/screens/SearchScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "3x Hardcoded color values", - "detail": { - "smell_id": "hardcoded_color", - "severity": "medium", - "count": 3, - "lines": [ - 184, - 189, - 208 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/ServerSetupScreen.tsx::hardcoded_color": { - "id": "smells::Others/mobile-app/src/screens/ServerSetupScreen.tsx::hardcoded_color", - "detector": "smells", - "file": "Others/mobile-app/src/screens/ServerSetupScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "4x Hardcoded color values", - "detail": { - "smell_id": "hardcoded_color", - "severity": "medium", - "count": 4, - "lines": [ - 290, - 295, - 300, - 310 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/SettingsScreen.tsx::hardcoded_color": { - "id": "smells::Others/mobile-app/src/screens/SettingsScreen.tsx::hardcoded_color", - "detector": "smells", - "file": "Others/mobile-app/src/screens/SettingsScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Hardcoded color values", - "detail": { - "smell_id": "hardcoded_color", - "severity": "medium", - "count": 1, - "lines": [ - 300 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/TasksScreen.tsx::hardcoded_color": { - "id": "smells::Others/mobile-app/src/screens/TasksScreen.tsx::hardcoded_color", - "detector": "smells", - "file": "Others/mobile-app/src/screens/TasksScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Hardcoded color values", - "detail": { - "smell_id": "hardcoded_color", - "severity": "medium", - "count": 1, - "lines": [ - 111 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/TimeTrackingScreen.tsx::hardcoded_color": { - "id": "smells::Others/mobile-app/src/screens/TimeTrackingScreen.tsx::hardcoded_color", - "detector": "smells", - "file": "Others/mobile-app/src/screens/TimeTrackingScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "5x Hardcoded color values", - "detail": { - "smell_id": "hardcoded_color", - "severity": "medium", - "count": 5, - "lines": [ - 136, - 141, - 146, - 178, - 182 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/auth/LoginScreen.tsx::hardcoded_color": { - "id": "smells::Others/mobile-app/src/screens/auth/LoginScreen.tsx::hardcoded_color", - "detector": "smells", - "file": "Others/mobile-app/src/screens/auth/LoginScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x Hardcoded color values", - "detail": { - "smell_id": "hardcoded_color", - "severity": "medium", - "count": 2, - "lines": [ - 161, - 178 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/auth/RegisterScreen.tsx::hardcoded_color": { - "id": "smells::Others/mobile-app/src/screens/auth/RegisterScreen.tsx::hardcoded_color", - "detector": "smells", - "file": "Others/mobile-app/src/screens/auth/RegisterScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Hardcoded color values", - "detail": { - "smell_id": "hardcoded_color", - "severity": "medium", - "count": 1, - "lines": [ - 177 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/oauth-service/src/components/CourseManagement.tsx::hardcoded_color": { - "id": "smells::Others/oauth-service/src/components/CourseManagement.tsx::hardcoded_color", - "detector": "smells", - "file": "Others/oauth-service/src/components/CourseManagement.tsx", - "tier": 3, - "confidence": "medium", - "summary": "5x Hardcoded color values", - "detail": { - "smell_id": "hardcoded_color", - "severity": "medium", - "count": 5, - "lines": [ - 76, - 77, - 78, - 79, - 80 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/oauth-service/src/components/InstanceManagement.tsx::hardcoded_color": { - "id": "smells::Others/oauth-service/src/components/InstanceManagement.tsx::hardcoded_color", - "detector": "smells", - "file": "Others/oauth-service/src/components/InstanceManagement.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Hardcoded color values", - "detail": { - "smell_id": "hardcoded_color", - "severity": "medium", - "count": 1, - "lines": [ - 148 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/layout/Layout.tsx::hardcoded_color": { - "id": "smells::frontend/src/components/layout/Layout.tsx::hardcoded_color", - "detector": "smells", - "file": "frontend/src/components/layout/Layout.tsx", - "tier": 3, - "confidence": "medium", - "summary": "3x Hardcoded color values", - "detail": { - "smell_id": "hardcoded_color", - "severity": "medium", - "count": 3, - "lines": [ - 84, - 85, - 86 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/BookmarksScreen.tsx::hardcoded_url": { - "id": "smells::Others/mobile-app/src/screens/BookmarksScreen.tsx::hardcoded_url", - "detector": "smells", - "file": "Others/mobile-app/src/screens/BookmarksScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 2, - "lines": [ - 11, - 20 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/SearchScreen.tsx::hardcoded_url": { - "id": "smells::Others/mobile-app/src/screens/SearchScreen.tsx::hardcoded_url", - "detector": "smells", - "file": "Others/mobile-app/src/screens/SearchScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 1, - "lines": [ - 22 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/ServerSetupScreen.tsx::hardcoded_url": { - "id": "smells::Others/mobile-app/src/screens/ServerSetupScreen.tsx::hardcoded_url", - "detector": "smells", - "file": "Others/mobile-app/src/screens/ServerSetupScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 1, - "lines": [ - 185 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/api.ts::hardcoded_url": { - "id": "smells::Others/mobile-app/src/services/api.ts::hardcoded_url", - "detector": "smells", - "file": "Others/mobile-app/src/services/api.ts", - "tier": 3, - "confidence": "medium", - "summary": "2x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 2, - "lines": [ - 6, - 7 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/oauth-service/src/components/InstanceManagement.tsx::hardcoded_url": { - "id": "smells::Others/oauth-service/src/components/InstanceManagement.tsx::hardcoded_url", - "detector": "smells", - "file": "Others/oauth-service/src/components/InstanceManagement.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 1, - "lines": [ - 350 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/oauth-service/vite.config.ts::hardcoded_url": { - "id": "smells::Others/oauth-service/vite.config.ts::hardcoded_url", - "detector": "smells", - "file": "Others/oauth-service/vite.config.ts", - "tier": 3, - "confidence": "medium", - "summary": "3x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 3, - "lines": [ - 10, - 14, - 18 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "config" - }, - "smells::frontend/src/components/search/EnhancedSearch.tsx::hardcoded_url": { - "id": "smells::frontend/src/components/search/EnhancedSearch.tsx::hardcoded_url", - "detector": "smells", - "file": "frontend/src/components/search/EnhancedSearch.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 2, - "lines": [ - 183, - 223 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/search/QuickSearch.tsx::hardcoded_url": { - "id": "smells::frontend/src/components/search/QuickSearch.tsx::hardcoded_url", - "detector": "smells", - "file": "frontend/src/components/search/QuickSearch.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 2, - "lines": [ - 24, - 29 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/ActivityFeed.tsx::hardcoded_url": { - "id": "smells::frontend/src/components/ui/ActivityFeed.tsx::hardcoded_url", - "detector": "smells", - "file": "frontend/src/components/ui/ActivityFeed.tsx", - "tier": 3, - "confidence": "medium", - "summary": "3x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 3, - "lines": [ - 99, - 113, - 127 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/ColorPicker.tsx::hardcoded_url": { - "id": "smells::frontend/src/components/ui/ColorPicker.tsx::hardcoded_url", - "detector": "smells", - "file": "frontend/src/components/ui/ColorPicker.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 2, - "lines": [ - 239, - 313 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/FileUpload.tsx::hardcoded_url": { - "id": "smells::frontend/src/components/ui/FileUpload.tsx::hardcoded_url", - "detector": "smells", - "file": "frontend/src/components/ui/FileUpload.tsx", - "tier": 3, - "confidence": "medium", - "summary": "9x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 9, - "lines": [ - 208, - 224, - 249, - 269, - 293, - 300, - 313, - 346, - 353 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/FileUploadModal.tsx::hardcoded_url": { - "id": "smells::frontend/src/components/ui/FileUploadModal.tsx::hardcoded_url", - "detector": "smells", - "file": "frontend/src/components/ui/FileUploadModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 1, - "lines": [ - 262 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/LearningPathModal.tsx::hardcoded_url": { - "id": "smells::frontend/src/components/ui/LearningPathModal.tsx::hardcoded_url", - "detector": "smells", - "file": "frontend/src/components/ui/LearningPathModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 1, - "lines": [ - 223 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/TimePicker.tsx::hardcoded_url": { - "id": "smells::frontend/src/components/ui/TimePicker.tsx::hardcoded_url", - "detector": "smells", - "file": "frontend/src/components/ui/TimePicker.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 1, - "lines": [ - 92 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/VideoUploadModal.tsx::hardcoded_url": { - "id": "smells::frontend/src/components/ui/VideoUploadModal.tsx::hardcoded_url", - "detector": "smells", - "file": "frontend/src/components/ui/VideoUploadModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 1, - "lines": [ - 75 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/lib/credentials.ts::hardcoded_url": { - "id": "smells::frontend/src/lib/credentials.ts::hardcoded_url", - "detector": "smells", - "file": "frontend/src/lib/credentials.ts", - "tier": 3, - "confidence": "medium", - "summary": "1x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 1, - "lines": [ - 72 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/lib/demo-api.ts::hardcoded_url": { - "id": "smells::frontend/src/lib/demo-api.ts::hardcoded_url", - "detector": "smells", - "file": "frontend/src/lib/demo-api.ts", - "tier": 3, - "confidence": "medium", - "summary": "2x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 2, - "lines": [ - 216, - 290 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/lib/demo-mode.ts::hardcoded_url": { - "id": "smells::frontend/src/lib/demo-mode.ts::hardcoded_url", - "detector": "smells", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 3, - "confidence": "medium", - "summary": "3x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 3, - "lines": [ - 93, - 106, - 142 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/lib/mockData.ts::hardcoded_url": { - "id": "smells::frontend/src/lib/mockData.ts::hardcoded_url", - "detector": "smells", - "file": "frontend/src/lib/mockData.ts", - "tier": 3, - "confidence": "medium", - "summary": "12x Hardcoded URL in source code", - "detail": { - "smell_id": "hardcoded_url", - "severity": "medium", - "count": 12, - "lines": [ - 368, - 377, - 383, - 392, - 398, - 406, - 412, - 421, - 427, - 435 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/BookmarksScreen.tsx::any_type": { - "id": "smells::Others/mobile-app/src/screens/BookmarksScreen.tsx::any_type", - "detector": "smells", - "file": "Others/mobile-app/src/screens/BookmarksScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 1, - "lines": [ - 30 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/NotesScreen.tsx::any_type": { - "id": "smells::Others/mobile-app/src/screens/NotesScreen.tsx::any_type", - "detector": "smells", - "file": "Others/mobile-app/src/screens/NotesScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 1, - "lines": [ - 23 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/SearchScreen.tsx::any_type": { - "id": "smells::Others/mobile-app/src/screens/SearchScreen.tsx::any_type", - "detector": "smells", - "file": "Others/mobile-app/src/screens/SearchScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 1, - "lines": [ - 42 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/TasksScreen.tsx::any_type": { - "id": "smells::Others/mobile-app/src/screens/TasksScreen.tsx::any_type", - "detector": "smells", - "file": "Others/mobile-app/src/screens/TasksScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 1, - "lines": [ - 42 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/auth/LoginScreen.tsx::any_type": { - "id": "smells::Others/mobile-app/src/screens/auth/LoginScreen.tsx::any_type", - "detector": "smells", - "file": "Others/mobile-app/src/screens/auth/LoginScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 1, - "lines": [ - 19 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/CameraContext.tsx::any_type": { - "id": "smells::Others/mobile-app/src/services/CameraContext.tsx::any_type", - "detector": "smells", - "file": "Others/mobile-app/src/services/CameraContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 1, - "lines": [ - 8 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/NotificationContext.tsx::any_type": { - "id": "smells::Others/mobile-app/src/services/NotificationContext.tsx::any_type", - "detector": "smells", - "file": "Others/mobile-app/src/services/NotificationContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "5x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 5, - "lines": [ - 11, - 68, - 75, - 97, - 147 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/OfflineContext.tsx::any_type": { - "id": "smells::Others/mobile-app/src/services/OfflineContext.tsx::any_type", - "detector": "smells", - "file": "Others/mobile-app/src/services/OfflineContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 1, - "lines": [ - 27 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/RealtimeSyncContext.tsx::any_type": { - "id": "smells::Others/mobile-app/src/services/RealtimeSyncContext.tsx::any_type", - "detector": "smells", - "file": "Others/mobile-app/src/services/RealtimeSyncContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "3x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 3, - "lines": [ - 12, - 134, - 272 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/VoiceContext.tsx::any_type": { - "id": "smells::Others/mobile-app/src/services/VoiceContext.tsx::any_type", - "detector": "smells", - "file": "Others/mobile-app/src/services/VoiceContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 2, - "lines": [ - 85, - 90 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/api.ts::any_type": { - "id": "smells::Others/mobile-app/src/services/api.ts::any_type", - "detector": "smells", - "file": "Others/mobile-app/src/services/api.ts", - "tier": 3, - "confidence": "medium", - "summary": "3x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 3, - "lines": [ - 70, - 218, - 291 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/utils/offlineSync.ts::any_type": { - "id": "smells::Others/mobile-app/src/utils/offlineSync.ts::any_type", - "detector": "smells", - "file": "Others/mobile-app/src/utils/offlineSync.ts", - "tier": 3, - "confidence": "medium", - "summary": "2x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 2, - "lines": [ - 8, - 119 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/utils/storage.ts::any_type": { - "id": "smells::Others/mobile-app/src/utils/storage.ts::any_type", - "detector": "smells", - "file": "Others/mobile-app/src/utils/storage.ts", - "tier": 3, - "confidence": "medium", - "summary": "1x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 1, - "lines": [ - 105 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/oauth-service/src/components/CourseManagement.tsx::any_type": { - "id": "smells::Others/oauth-service/src/components/CourseManagement.tsx::any_type", - "detector": "smells", - "file": "Others/oauth-service/src/components/CourseManagement.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 1, - "lines": [ - 174 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ProtectedRoute.tsx::any_type": { - "id": "smells::frontend/src/components/ProtectedRoute.tsx::any_type", - "detector": "smells", - "file": "frontend/src/components/ProtectedRoute.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 1, - "lines": [ - 6 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/Timer.tsx::any_type": { - "id": "smells::frontend/src/components/Timer.tsx::any_type", - "detector": "smells", - "file": "frontend/src/components/Timer.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 1, - "lines": [ - 105 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/layout/Layout.tsx::any_type": { - "id": "smells::frontend/src/components/layout/Layout.tsx::any_type", - "detector": "smells", - "file": "frontend/src/components/layout/Layout.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 1, - "lines": [ - 8 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/search/EnhancedSearch.tsx::any_type": { - "id": "smells::frontend/src/components/search/EnhancedSearch.tsx::any_type", - "detector": "smells", - "file": "frontend/src/components/search/EnhancedSearch.tsx", - "tier": 3, - "confidence": "medium", - "summary": "8x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 8, - "lines": [ - 254, - 445, - 494, - 513, - 528, - 546, - 555, - 570 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/search/SavedSearches.tsx::any_type": { - "id": "smells::frontend/src/components/search/SavedSearches.tsx::any_type", - "detector": "smells", - "file": "frontend/src/components/search/SavedSearches.tsx", - "tier": 3, - "confidence": "medium", - "summary": "7x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 7, - "lines": [ - 198, - 399, - 410, - 421, - 432, - 443, - 453 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/BookmarkModal.tsx::any_type": { - "id": "smells::frontend/src/components/ui/BookmarkModal.tsx::any_type", - "detector": "smells", - "file": "frontend/src/components/ui/BookmarkModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 1, - "lines": [ - 10 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/Button.tsx::any_type": { - "id": "smells::frontend/src/components/ui/Button.tsx::any_type", - "detector": "smells", - "file": "frontend/src/components/ui/Button.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 1, - "lines": [ - 48 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/Card.tsx::any_type": { - "id": "smells::frontend/src/components/ui/Card.tsx::any_type", - "detector": "smells", - "file": "frontend/src/components/ui/Card.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 1, - "lines": [ - 6 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/DropdownMenu.tsx::any_type": { - "id": "smells::frontend/src/components/ui/DropdownMenu.tsx::any_type", - "detector": "smells", - "file": "frontend/src/components/ui/DropdownMenu.tsx", - "tier": 3, - "confidence": "medium", - "summary": "4x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 4, - "lines": [ - 4, - 5, - 10, - 11 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/ExportImport.tsx::any_type": { - "id": "smells::frontend/src/components/ui/ExportImport.tsx::any_type", - "detector": "smells", - "file": "frontend/src/components/ui/ExportImport.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Explicit `any` types", - "detail": { - "smell_id": "any_type", - "severity": "medium", - "count": 1, - "lines": [ - 8 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/App.tsx::console_error_no_throw": { - "id": "smells::Others/mobile-app/src/App.tsx::console_error_no_throw", - "detector": "smells", - "file": "Others/mobile-app/src/App.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 1, - "lines": [ - 51 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/AIAssistantScreen.tsx::console_error_no_throw": { - "id": "smells::Others/mobile-app/src/screens/AIAssistantScreen.tsx::console_error_no_throw", - "detector": "smells", - "file": "Others/mobile-app/src/screens/AIAssistantScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 1, - "lines": [ - 121 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/DashboardScreen.tsx::console_error_no_throw": { - "id": "smells::Others/mobile-app/src/screens/DashboardScreen.tsx::console_error_no_throw", - "detector": "smells", - "file": "Others/mobile-app/src/screens/DashboardScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 1, - "lines": [ - 104 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/AuthContext.tsx::console_error_no_throw": { - "id": "smells::Others/mobile-app/src/services/AuthContext.tsx::console_error_no_throw", - "detector": "smells", - "file": "Others/mobile-app/src/services/AuthContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "3x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 3, - "lines": [ - 58, - 137, - 175 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/OfflineContext.tsx::console_error_no_throw": { - "id": "smells::Others/mobile-app/src/services/OfflineContext.tsx::console_error_no_throw", - "detector": "smells", - "file": "Others/mobile-app/src/services/OfflineContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "4x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 4, - "lines": [ - 49, - 68, - 86, - 95 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/RealtimeSyncContext.tsx::console_error_no_throw": { - "id": "smells::Others/mobile-app/src/services/RealtimeSyncContext.tsx::console_error_no_throw", - "detector": "smells", - "file": "Others/mobile-app/src/services/RealtimeSyncContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "7x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 7, - "lines": [ - 83, - 104, - 120, - 123, - 161, - 201, - 242 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/ServerConfigContext.tsx::console_error_no_throw": { - "id": "smells::Others/mobile-app/src/services/ServerConfigContext.tsx::console_error_no_throw", - "detector": "smells", - "file": "Others/mobile-app/src/services/ServerConfigContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 1, - "lines": [ - 42 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/VoiceContext.tsx::console_error_no_throw": { - "id": "smells::Others/mobile-app/src/services/VoiceContext.tsx::console_error_no_throw", - "detector": "smells", - "file": "Others/mobile-app/src/services/VoiceContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 2, - "lines": [ - 91, - 116 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/api.ts::console_error_no_throw": { - "id": "smells::Others/mobile-app/src/services/api.ts::console_error_no_throw", - "detector": "smells", - "file": "Others/mobile-app/src/services/api.ts", - "tier": 3, - "confidence": "medium", - "summary": "1x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 1, - "lines": [ - 59 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/utils/offlineSync.ts::console_error_no_throw": { - "id": "smells::Others/mobile-app/src/utils/offlineSync.ts::console_error_no_throw", - "detector": "smells", - "file": "Others/mobile-app/src/utils/offlineSync.ts", - "tier": 3, - "confidence": "medium", - "summary": "1x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 1, - "lines": [ - 30 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/oauth-service/src/components/CourseManagement.tsx::console_error_no_throw": { - "id": "smells::Others/oauth-service/src/components/CourseManagement.tsx::console_error_no_throw", - "detector": "smells", - "file": "Others/oauth-service/src/components/CourseManagement.tsx", - "tier": 3, - "confidence": "medium", - "summary": "4x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 4, - "lines": [ - 94, - 106, - 213, - 236 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/oauth-service/src/components/Dashboard.tsx::console_error_no_throw": { - "id": "smells::Others/oauth-service/src/components/Dashboard.tsx::console_error_no_throw", - "detector": "smells", - "file": "Others/oauth-service/src/components/Dashboard.tsx", - "tier": 3, - "confidence": "medium", - "summary": "3x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 3, - "lines": [ - 61, - 71, - 81 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/oauth-service/src/components/InstanceManagement.tsx::console_error_no_throw": { - "id": "smells::Others/oauth-service/src/components/InstanceManagement.tsx::console_error_no_throw", - "detector": "smells", - "file": "Others/oauth-service/src/components/InstanceManagement.tsx", - "tier": 3, - "confidence": "medium", - "summary": "3x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 3, - "lines": [ - 39, - 97, - 120 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/oauth-service/src/index.tsx::console_error_no_throw": { - "id": "smells::Others/oauth-service/src/index.tsx::console_error_no_throw", - "detector": "smells", - "file": "Others/oauth-service/src/index.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 1, - "lines": [ - 14 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/TimeEntriesList.tsx::console_error_no_throw": { - "id": "smells::frontend/src/components/TimeEntriesList.tsx::console_error_no_throw", - "detector": "smells", - "file": "frontend/src/components/TimeEntriesList.tsx", - "tier": 3, - "confidence": "medium", - "summary": "3x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 3, - "lines": [ - 44, - 68, - 78 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/Timer.tsx::console_error_no_throw": { - "id": "smells::frontend/src/components/Timer.tsx::console_error_no_throw", - "detector": "smells", - "file": "frontend/src/components/Timer.tsx", - "tier": 3, - "confidence": "medium", - "summary": "4x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 4, - "lines": [ - 125, - 161, - 198, - 216 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/layout/Header.tsx::console_error_no_throw": { - "id": "smells::frontend/src/components/layout/Header.tsx::console_error_no_throw", - "detector": "smells", - "file": "frontend/src/components/layout/Header.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 1, - "lines": [ - 44 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/layout/Layout.tsx::console_error_no_throw": { - "id": "smells::frontend/src/components/layout/Layout.tsx::console_error_no_throw", - "detector": "smells", - "file": "frontend/src/components/layout/Layout.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 1, - "lines": [ - 79 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/search/BrowserSearch.tsx::console_error_no_throw": { - "id": "smells::frontend/src/components/search/BrowserSearch.tsx::console_error_no_throw", - "detector": "smells", - "file": "frontend/src/components/search/BrowserSearch.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 2, - "lines": [ - 113, - 203 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/search/EnhancedSearch.tsx::console_error_no_throw": { - "id": "smells::frontend/src/components/search/EnhancedSearch.tsx::console_error_no_throw", - "detector": "smells", - "file": "frontend/src/components/search/EnhancedSearch.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 1, - "lines": [ - 211 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/search/SavedSearches.tsx::console_error_no_throw": { - "id": "smells::frontend/src/components/search/SavedSearches.tsx::console_error_no_throw", - "detector": "smells", - "file": "frontend/src/components/search/SavedSearches.tsx", - "tier": 3, - "confidence": "medium", - "summary": "5x console.error without throw/return", - "detail": { - "smell_id": "console_error_no_throw", - "severity": "medium", - "count": 5, - "lines": [ - 75, - 95, - 132, - 155, - 178 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/App.tsx::swallowed_error": { - "id": "smells::Others/mobile-app/src/App.tsx::swallowed_error", - "detector": "smells", - "file": "Others/mobile-app/src/App.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 1, - "lines": [ - 50 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/DashboardScreen.tsx::swallowed_error": { - "id": "smells::Others/mobile-app/src/screens/DashboardScreen.tsx::swallowed_error", - "detector": "smells", - "file": "Others/mobile-app/src/screens/DashboardScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 1, - "lines": [ - 103 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/AuthContext.tsx::swallowed_error": { - "id": "smells::Others/mobile-app/src/services/AuthContext.tsx::swallowed_error", - "detector": "smells", - "file": "Others/mobile-app/src/services/AuthContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 2, - "lines": [ - 136, - 174 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/OfflineContext.tsx::swallowed_error": { - "id": "smells::Others/mobile-app/src/services/OfflineContext.tsx::swallowed_error", - "detector": "smells", - "file": "Others/mobile-app/src/services/OfflineContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 2, - "lines": [ - 48, - 94 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/RealtimeSyncContext.tsx::swallowed_error": { - "id": "smells::Others/mobile-app/src/services/RealtimeSyncContext.tsx::swallowed_error", - "detector": "smells", - "file": "Others/mobile-app/src/services/RealtimeSyncContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "6x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 6, - "lines": [ - 82, - 103, - 122, - 160, - 200, - 241 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/ServerConfigContext.tsx::swallowed_error": { - "id": "smells::Others/mobile-app/src/services/ServerConfigContext.tsx::swallowed_error", - "detector": "smells", - "file": "Others/mobile-app/src/services/ServerConfigContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 1, - "lines": [ - 41 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/api.ts::swallowed_error": { - "id": "smells::Others/mobile-app/src/services/api.ts::swallowed_error", - "detector": "smells", - "file": "Others/mobile-app/src/services/api.ts", - "tier": 3, - "confidence": "medium", - "summary": "1x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 1, - "lines": [ - 58 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/utils/offlineSync.ts::swallowed_error": { - "id": "smells::Others/mobile-app/src/utils/offlineSync.ts::swallowed_error", - "detector": "smells", - "file": "Others/mobile-app/src/utils/offlineSync.ts", - "tier": 3, - "confidence": "medium", - "summary": "1x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 1, - "lines": [ - 29 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/oauth-service/src/components/CourseManagement.tsx::swallowed_error": { - "id": "smells::Others/oauth-service/src/components/CourseManagement.tsx::swallowed_error", - "detector": "smells", - "file": "Others/oauth-service/src/components/CourseManagement.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 2, - "lines": [ - 93, - 105 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/oauth-service/src/components/Dashboard.tsx::swallowed_error": { - "id": "smells::Others/oauth-service/src/components/Dashboard.tsx::swallowed_error", - "detector": "smells", - "file": "Others/oauth-service/src/components/Dashboard.tsx", - "tier": 3, - "confidence": "medium", - "summary": "3x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 3, - "lines": [ - 60, - 70, - 80 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/oauth-service/src/components/InstanceManagement.tsx::swallowed_error": { - "id": "smells::Others/oauth-service/src/components/InstanceManagement.tsx::swallowed_error", - "detector": "smells", - "file": "Others/oauth-service/src/components/InstanceManagement.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 1, - "lines": [ - 38 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/Timer.tsx::swallowed_error": { - "id": "smells::frontend/src/components/Timer.tsx::swallowed_error", - "detector": "smells", - "file": "frontend/src/components/Timer.tsx", - "tier": 3, - "confidence": "medium", - "summary": "4x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 4, - "lines": [ - 124, - 160, - 197, - 215 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/layout/Header.tsx::swallowed_error": { - "id": "smells::frontend/src/components/layout/Header.tsx::swallowed_error", - "detector": "smells", - "file": "frontend/src/components/layout/Header.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 1, - "lines": [ - 43 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/layout/Layout.tsx::swallowed_error": { - "id": "smells::frontend/src/components/layout/Layout.tsx::swallowed_error", - "detector": "smells", - "file": "frontend/src/components/layout/Layout.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 1, - "lines": [ - 78 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/search/BrowserSearch.tsx::swallowed_error": { - "id": "smells::frontend/src/components/search/BrowserSearch.tsx::swallowed_error", - "detector": "smells", - "file": "frontend/src/components/search/BrowserSearch.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 2, - "lines": [ - 76, - 202 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/search/SavedSearches.tsx::swallowed_error": { - "id": "smells::frontend/src/components/search/SavedSearches.tsx::swallowed_error", - "detector": "smells", - "file": "frontend/src/components/search/SavedSearches.tsx", - "tier": 3, - "confidence": "medium", - "summary": "5x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 5, - "lines": [ - 74, - 94, - 131, - 154, - 177 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/ActivityFeed.tsx::swallowed_error": { - "id": "smells::frontend/src/components/ui/ActivityFeed.tsx::swallowed_error", - "detector": "smells", - "file": "frontend/src/components/ui/ActivityFeed.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 1, - "lines": [ - 150 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/LearningPathModal.tsx::swallowed_error": { - "id": "smells::frontend/src/components/ui/LearningPathModal.tsx::swallowed_error", - "detector": "smells", - "file": "frontend/src/components/ui/LearningPathModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 1, - "lines": [ - 80 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/LearningPathPreviewModal.tsx::swallowed_error": { - "id": "smells::frontend/src/components/ui/LearningPathPreviewModal.tsx::swallowed_error", - "detector": "smells", - "file": "frontend/src/components/ui/LearningPathPreviewModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 1, - "lines": [ - 56 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/hooks/useLocalStorage.ts::swallowed_error": { - "id": "smells::frontend/src/hooks/useLocalStorage.ts::swallowed_error", - "detector": "smells", - "file": "frontend/src/hooks/useLocalStorage.ts", - "tier": 3, - "confidence": "medium", - "summary": "4x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 4, - "lines": [ - 36, - 51, - 91, - 106 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/lib/auth.tsx::swallowed_error": { - "id": "smells::frontend/src/lib/auth.tsx::swallowed_error", - "detector": "smells", - "file": "frontend/src/lib/auth.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 1, - "lines": [ - 270 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Chat.tsx::swallowed_error": { - "id": "smells::frontend/src/pages/Chat.tsx::swallowed_error", - "detector": "smells", - "file": "frontend/src/pages/Chat.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 2, - "lines": [ - 66, - 94 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/ColorSwitcher.tsx::swallowed_error": { - "id": "smells::frontend/src/pages/ColorSwitcher.tsx::swallowed_error", - "detector": "smells", - "file": "frontend/src/pages/ColorSwitcher.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 1, - "lines": [ - 43 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Files.tsx::swallowed_error": { - "id": "smells::frontend/src/pages/Files.tsx::swallowed_error", - "detector": "smells", - "file": "frontend/src/pages/Files.tsx", - "tier": 3, - "confidence": "medium", - "summary": "4x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 4, - "lines": [ - 180, - 241, - 259, - 297 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/GitHub.tsx::swallowed_error": { - "id": "smells::frontend/src/pages/GitHub.tsx::swallowed_error", - "detector": "smells", - "file": "frontend/src/pages/GitHub.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Catch blocks that only log (swallowed errors)", - "detail": { - "smell_id": "swallowed_error", - "severity": "medium", - "count": 1, - "lines": [ - 267 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/auth/RegisterScreen.tsx::async_no_await": { - "id": "smells::Others/mobile-app/src/screens/auth/RegisterScreen.tsx::async_no_await", - "detector": "smells", - "file": "Others/mobile-app/src/screens/auth/RegisterScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Async functions without await", - "detail": { - "smell_id": "async_no_await", - "severity": "medium", - "count": 1, - "lines": [ - 37 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/CameraContext.tsx::async_no_await": { - "id": "smells::Others/mobile-app/src/services/CameraContext.tsx::async_no_await", - "detector": "smells", - "file": "Others/mobile-app/src/services/CameraContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Async functions without await", - "detail": { - "smell_id": "async_no_await", - "severity": "medium", - "count": 1, - "lines": [ - 65 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/NotificationContext.tsx::async_no_await": { - "id": "smells::Others/mobile-app/src/services/NotificationContext.tsx::async_no_await", - "detector": "smells", - "file": "Others/mobile-app/src/services/NotificationContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Async functions without await", - "detail": { - "smell_id": "async_no_await", - "severity": "medium", - "count": 1, - "lines": [ - 94 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/OfflineContext.tsx::async_no_await": { - "id": "smells::Others/mobile-app/src/services/OfflineContext.tsx::async_no_await", - "detector": "smells", - "file": "Others/mobile-app/src/services/OfflineContext.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Async functions without await", - "detail": { - "smell_id": "async_no_await", - "severity": "medium", - "count": 1, - "lines": [ - 91 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/lib/brave-search.ts::async_no_await": { - "id": "smells::frontend/src/lib/brave-search.ts::async_no_await", - "detector": "smells", - "file": "frontend/src/lib/brave-search.ts", - "tier": 3, - "confidence": "medium", - "summary": "2x Async functions without await", - "detail": { - "smell_id": "async_no_await", - "severity": "medium", - "count": 2, - "lines": [ - 89, - 93 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/lib/export-import.ts::async_no_await": { - "id": "smells::frontend/src/lib/export-import.ts::async_no_await", - "detector": "smells", - "file": "frontend/src/lib/export-import.ts", - "tier": 3, - "confidence": "medium", - "summary": "2x Async functions without await", - "detail": { - "smell_id": "async_no_await", - "severity": "medium", - "count": 2, - "lines": [ - 12, - 40 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/AdminDashboard.tsx::async_no_await": { - "id": "smells::frontend/src/pages/AdminDashboard.tsx::async_no_await", - "detector": "smells", - "file": "frontend/src/pages/AdminDashboard.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Async functions without await", - "detail": { - "smell_id": "async_no_await", - "severity": "medium", - "count": 1, - "lines": [ - 161 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Chat.tsx::async_no_await": { - "id": "smells::frontend/src/pages/Chat.tsx::async_no_await", - "detector": "smells", - "file": "frontend/src/pages/Chat.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Async functions without await", - "detail": { - "smell_id": "async_no_await", - "severity": "medium", - "count": 1, - "lines": [ - 229 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Files.tsx::async_no_await": { - "id": "smells::frontend/src/pages/Files.tsx::async_no_await", - "detector": "smells", - "file": "frontend/src/pages/Files.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Async functions without await", - "detail": { - "smell_id": "async_no_await", - "severity": "medium", - "count": 1, - "lines": [ - 221 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/GitHub.tsx::async_no_await": { - "id": "smells::frontend/src/pages/GitHub.tsx::async_no_await", - "detector": "smells", - "file": "frontend/src/pages/GitHub.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Async functions without await", - "detail": { - "smell_id": "async_no_await", - "severity": "medium", - "count": 1, - "lines": [ - 260 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Notes.tsx::async_no_await": { - "id": "smells::frontend/src/pages/Notes.tsx::async_no_await", - "detector": "smells", - "file": "frontend/src/pages/Notes.tsx", - "tier": 3, - "confidence": "medium", - "summary": "4x Async functions without await", - "detail": { - "smell_id": "async_no_await", - "severity": "medium", - "count": 4, - "lines": [ - 215, - 235, - 256, - 267 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Settings.tsx::async_no_await": { - "id": "smells::frontend/src/pages/Settings.tsx::async_no_await", - "detector": "smells", - "file": "frontend/src/pages/Settings.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Async functions without await", - "detail": { - "smell_id": "async_no_await", - "severity": "medium", - "count": 1, - "lines": [ - 123 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Tasks.tsx::async_no_await": { - "id": "smells::frontend/src/pages/Tasks.tsx::async_no_await", - "detector": "smells", - "file": "frontend/src/pages/Tasks.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Async functions without await", - "detail": { - "smell_id": "async_no_await", - "severity": "medium", - "count": 1, - "lines": [ - 139 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/DashboardScreen.tsx::as_any_cast": { - "id": "smells::Others/mobile-app/src/screens/DashboardScreen.tsx::as_any_cast", - "detector": "smells", - "file": "Others/mobile-app/src/screens/DashboardScreen.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x `as any` type casts", - "detail": { - "smell_id": "as_any_cast", - "severity": "medium", - "count": 1, - "lines": [ - 66 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/oauth-service/src/components/CourseManagement.tsx::as_any_cast": { - "id": "smells::Others/oauth-service/src/components/CourseManagement.tsx::as_any_cast", - "detector": "smells", - "file": "Others/oauth-service/src/components/CourseManagement.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x `as any` type casts", - "detail": { - "smell_id": "as_any_cast", - "severity": "medium", - "count": 1, - "lines": [ - 392 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/Timer.tsx::as_any_cast": { - "id": "smells::frontend/src/components/Timer.tsx::as_any_cast", - "detector": "smells", - "file": "frontend/src/components/Timer.tsx", - "tier": 3, - "confidence": "medium", - "summary": "4x `as any` type casts", - "detail": { - "smell_id": "as_any_cast", - "severity": "medium", - "count": 4, - "lines": [ - 108, - 119, - 120, - 121 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/search/EnhancedSearch.tsx::as_any_cast": { - "id": "smells::frontend/src/components/search/EnhancedSearch.tsx::as_any_cast", - "detector": "smells", - "file": "frontend/src/components/search/EnhancedSearch.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x `as any` type casts", - "detail": { - "smell_id": "as_any_cast", - "severity": "medium", - "count": 2, - "lines": [ - 371, - 372 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/ActivityFeed.tsx::as_any_cast": { - "id": "smells::frontend/src/components/ui/ActivityFeed.tsx::as_any_cast", - "detector": "smells", - "file": "frontend/src/components/ui/ActivityFeed.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x `as any` type casts", - "detail": { - "smell_id": "as_any_cast", - "severity": "medium", - "count": 1, - "lines": [ - 77 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/TaskModal.tsx::as_any_cast": { - "id": "smells::frontend/src/components/ui/TaskModal.tsx::as_any_cast", - "detector": "smells", - "file": "frontend/src/components/ui/TaskModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x `as any` type casts", - "detail": { - "smell_id": "as_any_cast", - "severity": "medium", - "count": 1, - "lines": [ - 128 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/ViewNoteModal.tsx::as_any_cast": { - "id": "smells::frontend/src/components/ui/ViewNoteModal.tsx::as_any_cast", - "detector": "smells", - "file": "frontend/src/components/ui/ViewNoteModal.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x `as any` type casts", - "detail": { - "smell_id": "as_any_cast", - "severity": "medium", - "count": 1, - "lines": [ - 41 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/AIAssistant.tsx::as_any_cast": { - "id": "smells::frontend/src/pages/AIAssistant.tsx::as_any_cast", - "detector": "smells", - "file": "frontend/src/pages/AIAssistant.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x `as any` type casts", - "detail": { - "smell_id": "as_any_cast", - "severity": "medium", - "count": 1, - "lines": [ - 80 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Calendar.tsx::as_any_cast": { - "id": "smells::frontend/src/pages/Calendar.tsx::as_any_cast", - "detector": "smells", - "file": "frontend/src/pages/Calendar.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x `as any` type casts", - "detail": { - "smell_id": "as_any_cast", - "severity": "medium", - "count": 2, - "lines": [ - 826, - 840 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Chat.tsx::as_any_cast": { - "id": "smells::frontend/src/pages/Chat.tsx::as_any_cast", - "detector": "smells", - "file": "frontend/src/pages/Chat.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x `as any` type casts", - "detail": { - "smell_id": "as_any_cast", - "severity": "medium", - "count": 1, - "lines": [ - 840 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Login.tsx::as_any_cast": { - "id": "smells::frontend/src/pages/Login.tsx::as_any_cast", - "detector": "smells", - "file": "frontend/src/pages/Login.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x `as any` type casts", - "detail": { - "smell_id": "as_any_cast", - "severity": "medium", - "count": 1, - "lines": [ - 128 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Notes.tsx::as_any_cast": { - "id": "smells::frontend/src/pages/Notes.tsx::as_any_cast", - "detector": "smells", - "file": "frontend/src/pages/Notes.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x `as any` type casts", - "detail": { - "smell_id": "as_any_cast", - "severity": "medium", - "count": 1, - "lines": [ - 362 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Youtube.tsx::as_any_cast": { - "id": "smells::frontend/src/pages/Youtube.tsx::as_any_cast", - "detector": "smells", - "file": "frontend/src/pages/Youtube.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x `as any` type casts", - "detail": { - "smell_id": "as_any_cast", - "severity": "medium", - "count": 1, - "lines": [ - 699 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/Timer.tsx::sort_no_comparator": { - "id": "smells::frontend/src/components/Timer.tsx::sort_no_comparator", - "detector": "smells", - "file": "frontend/src/components/Timer.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x .sort() without comparator function", - "detail": { - "smell_id": "sort_no_comparator", - "severity": "medium", - "count": 2, - "lines": [ - 123, - 132 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Bookmarks.tsx::sort_no_comparator": { - "id": "smells::frontend/src/pages/Bookmarks.tsx::sort_no_comparator", - "detector": "smells", - "file": "frontend/src/pages/Bookmarks.tsx", - "tier": 3, - "confidence": "medium", - "summary": "2x .sort() without comparator function", - "detail": { - "smell_id": "sort_no_comparator", - "severity": "medium", - "count": 2, - "lines": [ - 223, - 232 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Files.tsx::sort_no_comparator": { - "id": "smells::frontend/src/pages/Files.tsx::sort_no_comparator", - "detector": "smells", - "file": "frontend/src/pages/Files.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x .sort() without comparator function", - "detail": { - "smell_id": "sort_no_comparator", - "severity": "medium", - "count": 1, - "lines": [ - 208 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Notes.tsx::sort_no_comparator": { - "id": "smells::frontend/src/pages/Notes.tsx::sort_no_comparator", - "detector": "smells", - "file": "frontend/src/pages/Notes.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x .sort() without comparator function", - "detail": { - "smell_id": "sort_no_comparator", - "severity": "medium", - "count": 1, - "lines": [ - 203 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/lib/demo-mode.ts::dead_function": { - "id": "smells::frontend/src/lib/demo-mode.ts::dead_function", - "detector": "smells", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 3, - "confidence": "medium", - "summary": "1x Dead function (body is empty/return-only)", - "detail": { - "smell_id": "dead_function", - "severity": "medium", - "count": 1, - "lines": [ - 60 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Youtube.tsx::dead_function": { - "id": "smells::frontend/src/pages/Youtube.tsx::dead_function", - "detector": "smells", - "file": "frontend/src/pages/Youtube.tsx", - "tier": 3, - "confidence": "medium", - "summary": "1x Dead function (body is empty/return-only)", - "detail": { - "smell_id": "dead_function", - "severity": "medium", - "count": 1, - "lines": [ - 39 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/DashboardScreen.tsx::magic_number": { - "id": "smells::Others/mobile-app/src/screens/DashboardScreen.tsx::magic_number", - "detector": "smells", - "file": "Others/mobile-app/src/screens/DashboardScreen.tsx", - "tier": 3, - "confidence": "low", - "summary": "1x Magic numbers (>1000 in logic)", - "detail": { - "smell_id": "magic_number", - "severity": "low", - "count": 1, - "lines": [ - 126 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/screens/TimeTrackingScreen.tsx::magic_number": { - "id": "smells::Others/mobile-app/src/screens/TimeTrackingScreen.tsx::magic_number", - "detector": "smells", - "file": "Others/mobile-app/src/screens/TimeTrackingScreen.tsx", - "tier": 3, - "confidence": "low", - "summary": "1x Magic numbers (>1000 in logic)", - "detail": { - "smell_id": "magic_number", - "severity": "low", - "count": 1, - "lines": [ - 21 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/VoiceContext.tsx::magic_number": { - "id": "smells::Others/mobile-app/src/services/VoiceContext.tsx::magic_number", - "detector": "smells", - "file": "Others/mobile-app/src/services/VoiceContext.tsx", - "tier": 3, - "confidence": "low", - "summary": "1x Magic numbers (>1000 in logic)", - "detail": { - "smell_id": "magic_number", - "severity": "low", - "count": 1, - "lines": [ - 135 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/utils/notifications.ts::magic_number": { - "id": "smells::Others/mobile-app/src/utils/notifications.ts::magic_number", - "detector": "smells", - "file": "Others/mobile-app/src/utils/notifications.ts", - "tier": 3, - "confidence": "low", - "summary": "4x Magic numbers (>1000 in logic)", - "detail": { - "smell_id": "magic_number", - "severity": "low", - "count": 4, - "lines": [ - 7, - 21, - 47, - 49 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/oauth-service/src/components/InstanceManagement.tsx::magic_number": { - "id": "smells::Others/oauth-service/src/components/InstanceManagement.tsx::magic_number", - "detector": "smells", - "file": "Others/oauth-service/src/components/InstanceManagement.tsx", - "tier": 3, - "confidence": "low", - "summary": "1x Magic numbers (>1000 in logic)", - "detail": { - "smell_id": "magic_number", - "severity": "low", - "count": 1, - "lines": [ - 276 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/TimeEntriesList.tsx::magic_number": { - "id": "smells::frontend/src/components/TimeEntriesList.tsx::magic_number", - "detector": "smells", - "file": "frontend/src/components/TimeEntriesList.tsx", - "tier": 3, - "confidence": "low", - "summary": "2x Magic numbers (>1000 in logic)", - "detail": { - "smell_id": "magic_number", - "severity": "low", - "count": 2, - "lines": [ - 84, - 172 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/Timer.tsx::magic_number": { - "id": "smells::frontend/src/components/Timer.tsx::magic_number", - "detector": "smells", - "file": "frontend/src/components/Timer.tsx", - "tier": 3, - "confidence": "low", - "summary": "5x Magic numbers (>1000 in logic)", - "detail": { - "smell_id": "magic_number", - "severity": "low", - "count": 5, - "lines": [ - 59, - 84, - 172, - 181, - 230 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/ActivityFeed.tsx::magic_number": { - "id": "smells::frontend/src/components/ui/ActivityFeed.tsx::magic_number", - "detector": "smells", - "file": "frontend/src/components/ui/ActivityFeed.tsx", - "tier": 3, - "confidence": "low", - "summary": "4x Magic numbers (>1000 in logic)", - "detail": { - "smell_id": "magic_number", - "severity": "low", - "count": 4, - "lines": [ - 73, - 95, - 109, - 123 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/DateRangePicker.tsx::magic_number": { - "id": "smells::frontend/src/components/ui/DateRangePicker.tsx::magic_number", - "detector": "smells", - "file": "frontend/src/components/ui/DateRangePicker.tsx", - "tier": 3, - "confidence": "low", - "summary": "4x Magic numbers (>1000 in logic)", - "detail": { - "smell_id": "magic_number", - "severity": "low", - "count": 4, - "lines": [ - 26, - 33, - 40, - 47 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/FileUpload.tsx::magic_number": { - "id": "smells::frontend/src/components/ui/FileUpload.tsx::magic_number", - "detector": "smells", - "file": "frontend/src/components/ui/FileUpload.tsx", - "tier": 3, - "confidence": "low", - "summary": "1x Magic numbers (>1000 in logic)", - "detail": { - "smell_id": "magic_number", - "severity": "low", - "count": 1, - "lines": [ - 65 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/FileUploadModal.tsx::magic_number": { - "id": "smells::frontend/src/components/ui/FileUploadModal.tsx::magic_number", - "detector": "smells", - "file": "frontend/src/components/ui/FileUploadModal.tsx", - "tier": 3, - "confidence": "low", - "summary": "1x Magic numbers (>1000 in logic)", - "detail": { - "smell_id": "magic_number", - "severity": "low", - "count": 1, - "lines": [ - 239 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/GitHubActivity.tsx::magic_number": { - "id": "smells::frontend/src/components/ui/GitHubActivity.tsx::magic_number", - "detector": "smells", - "file": "frontend/src/components/ui/GitHubActivity.tsx", - "tier": 3, - "confidence": "low", - "summary": "2x Magic numbers (>1000 in logic)", - "detail": { - "smell_id": "magic_number", - "severity": "low", - "count": 2, - "lines": [ - 89, - 219 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/UploadModal.tsx::magic_number": { - "id": "smells::frontend/src/components/ui/UploadModal.tsx::magic_number", - "detector": "smells", - "file": "frontend/src/components/ui/UploadModal.tsx", - "tier": 3, - "confidence": "low", - "summary": "1x Magic numbers (>1000 in logic)", - "detail": { - "smell_id": "magic_number", - "severity": "low", - "count": 1, - "lines": [ - 150 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/lib/api-client.ts::magic_number": { - "id": "smells::frontend/src/lib/api-client.ts::magic_number", - "detector": "smells", - "file": "frontend/src/lib/api-client.ts", - "tier": 3, - "confidence": "low", - "summary": "8x Magic numbers (>1000 in logic)", - "detail": { - "smell_id": "magic_number", - "severity": "low", - "count": 8, - "lines": [ - 137, - 144, - 196, - 203, - 261, - 268, - 320, - 327 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/lib/demo-mode.ts::magic_number": { - "id": "smells::frontend/src/lib/demo-mode.ts::magic_number", - "detector": "smells", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 3, - "confidence": "low", - "summary": "14x Magic numbers (>1000 in logic)", - "detail": { - "smell_id": "magic_number", - "severity": "low", - "count": 14, - "lines": [ - 74, - 75, - 76, - 77, - 105, - 114, - 115, - 120, - 125, - 126 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/utils/offlineSync.ts::switch_no_default": { - "id": "smells::Others/mobile-app/src/utils/offlineSync.ts::switch_no_default", - "detector": "smells", - "file": "Others/mobile-app/src/utils/offlineSync.ts", - "tier": 3, - "confidence": "low", - "summary": "4x Switch without default case", - "detail": { - "smell_id": "switch_no_default", - "severity": "low", - "count": 4, - "lines": [ - 61, - 75, - 89, - 103 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/layout/Layout.tsx::switch_no_default": { - "id": "smells::frontend/src/components/layout/Layout.tsx::switch_no_default", - "detector": "smells", - "file": "frontend/src/components/layout/Layout.tsx", - "tier": 3, - "confidence": "low", - "summary": "2x Switch without default case", - "detail": { - "smell_id": "switch_no_default", - "severity": "low", - "count": 2, - "lines": [ - 55, - 114 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/search/QuickSearch.tsx::switch_no_default": { - "id": "smells::frontend/src/components/search/QuickSearch.tsx::switch_no_default", - "detector": "smells", - "file": "frontend/src/components/search/QuickSearch.tsx", - "tier": 3, - "confidence": "low", - "summary": "1x Switch without default case", - "detail": { - "smell_id": "switch_no_default", - "severity": "low", - "count": 1, - "lines": [ - 53 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/ColorPicker.tsx::switch_no_default": { - "id": "smells::frontend/src/components/ui/ColorPicker.tsx::switch_no_default", - "detector": "smells", - "file": "frontend/src/components/ui/ColorPicker.tsx", - "tier": 3, - "confidence": "low", - "summary": "1x Switch without default case", - "detail": { - "smell_id": "switch_no_default", - "severity": "low", - "count": 1, - "lines": [ - 39 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/ColorSwitcherDropdown.tsx::switch_no_default": { - "id": "smells::frontend/src/components/ui/ColorSwitcherDropdown.tsx::switch_no_default", - "detector": "smells", - "file": "frontend/src/components/ui/ColorSwitcherDropdown.tsx", - "tier": 3, - "confidence": "low", - "summary": "1x Switch without default case", - "detail": { - "smell_id": "switch_no_default", - "severity": "low", - "count": 1, - "lines": [ - 65 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/Toast.tsx::switch_no_default": { - "id": "smells::frontend/src/components/ui/Toast.tsx::switch_no_default", - "detector": "smells", - "file": "frontend/src/components/ui/Toast.tsx", - "tier": 3, - "confidence": "low", - "summary": "2x Switch without default case", - "detail": { - "smell_id": "switch_no_default", - "severity": "low", - "count": 2, - "lines": [ - 26, - 39 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/ColorSwitcher.tsx::switch_no_default": { - "id": "smells::frontend/src/pages/ColorSwitcher.tsx::switch_no_default", - "detector": "smells", - "file": "frontend/src/pages/ColorSwitcher.tsx", - "tier": 3, - "confidence": "low", - "summary": "2x Switch without default case", - "detail": { - "smell_id": "switch_no_default", - "severity": "low", - "count": 2, - "lines": [ - 224, - 274 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Notes.tsx::switch_no_default": { - "id": "smells::frontend/src/pages/Notes.tsx::switch_no_default", - "detector": "smells", - "file": "frontend/src/pages/Notes.tsx", - "tier": 3, - "confidence": "low", - "summary": "1x Switch without default case", - "detail": { - "smell_id": "switch_no_default", - "severity": "low", - "count": 1, - "lines": [ - 44 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::Others/mobile-app/src/services/NotificationContext.tsx::todo_fixme": { - "id": "smells::Others/mobile-app/src/services/NotificationContext.tsx::todo_fixme", - "detector": "smells", - "file": "Others/mobile-app/src/services/NotificationContext.tsx", - "tier": 3, - "confidence": "low", - "summary": "2x TODO/FIXME/HACK comments", - "detail": { - "smell_id": "todo_fixme", - "severity": "low", - "count": 2, - "lines": [ - 42, - 148 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Files.tsx::todo_fixme": { - "id": "smells::frontend/src/pages/Files.tsx::todo_fixme", - "detector": "smells", - "file": "frontend/src/pages/Files.tsx", - "tier": 3, - "confidence": "low", - "summary": "2x TODO/FIXME/HACK comments", - "detail": { - "smell_id": "todo_fixme", - "severity": "low", - "count": 2, - "lines": [ - 88, - 293 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Notes.tsx::todo_fixme": { - "id": "smells::frontend/src/pages/Notes.tsx::todo_fixme", - "detector": "smells", - "file": "frontend/src/pages/Notes.tsx", - "tier": 3, - "confidence": "low", - "summary": "4x TODO/FIXME/HACK comments", - "detail": { - "smell_id": "todo_fixme", - "severity": "low", - "count": 4, - "lines": [ - 217, - 237, - 258, - 269 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Tasks.tsx::todo_fixme": { - "id": "smells::frontend/src/pages/Tasks.tsx::todo_fixme", - "detector": "smells", - "file": "frontend/src/pages/Tasks.tsx", - "tier": 3, - "confidence": "low", - "summary": "1x TODO/FIXME/HACK comments", - "detail": { - "smell_id": "todo_fixme", - "severity": "low", - "count": 1, - "lines": [ - 141 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/SearchFilters.tsx::non_null_assert": { - "id": "smells::frontend/src/components/ui/SearchFilters.tsx::non_null_assert", - "detector": "smells", - "file": "frontend/src/components/ui/SearchFilters.tsx", - "tier": 3, - "confidence": "low", - "summary": "4x Non-null assertions (!.)", - "detail": { - "smell_id": "non_null_assert", - "severity": "low", - "count": 4, - "lines": [ - 111, - 131, - 154, - 177 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/components/ui/ViewNoteModal.tsx::non_null_assert": { - "id": "smells::frontend/src/components/ui/ViewNoteModal.tsx::non_null_assert", - "detector": "smells", - "file": "frontend/src/components/ui/ViewNoteModal.tsx", - "tier": 3, - "confidence": "low", - "summary": "2x Non-null assertions (!.)", - "detail": { - "smell_id": "non_null_assert", - "severity": "low", - "count": 2, - "lines": [ - 121, - 132 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "smells::frontend/src/pages/Bookmarks.tsx::non_null_assert": { - "id": "smells::frontend/src/pages/Bookmarks.tsx::non_null_assert", - "detector": "smells", - "file": "frontend/src/pages/Bookmarks.tsx", - "tier": 3, - "confidence": "low", - "summary": "1x Non-null assertions (!.)", - "detail": { - "smell_id": "non_null_assert", - "severity": "low", - "count": 1, - "lines": [ - 564 - ] - }, - "status": "wontfix", - "note": "Code quality issues - monster functions could be refactored but not bugs", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:08:51+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "react::Others/mobile-app/src/App.tsx::nesting::8": { - "id": "react::Others/mobile-app/src/App.tsx::nesting::8", - "detector": "react", - "file": "Others/mobile-app/src/App.tsx", - "tier": 3, - "confidence": "medium", - "summary": "Deep provider nesting (8 levels): PaperProvider \u2192 ServerConfigProvider \u2192 RealtimeSyncProvider \u2192 AuthProvider \u2192 NotificationProvider", - "detail": { - "depth": 8, - "providers": [ - "PaperProvider", - "ServerConfigProvider", - "RealtimeSyncProvider", - "AuthProvider", - "NotificationProvider", - "CameraProvider", - "VoiceProvider", - "OfflineProvider" - ] - }, - "status": "wontfix", - "note": "Deep provider nesting is common in React apps - not a bug", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:25+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "security::Others/mobile-app/src/screens/AIAssistantScreen.tsx::security::log_sensitive::Others/mobile-app/src/screens/AIAssistantScreen.tsx::145": { - "id": "security::Others/mobile-app/src/screens/AIAssistantScreen.tsx::security::log_sensitive::Others/mobile-app/src/screens/AIAssistantScreen.tsx::145", - "detector": "security", - "file": "Others/mobile-app/src/screens/AIAssistantScreen.tsx", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive data may be logged", - "detail": { - "kind": "log_sensitive", - "severity": "medium", - "line": 145, - "content": " console.error('Error getting auth token:', error);", - "remediation": "Remove sensitive data from log statements" - }, - "status": "auto_resolved", - "note": "Disappeared from scan \u2014 likely fixed", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T12:34:02+00:00", - "resolved_at": "2026-02-18T12:43:40+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::Others/mobile-app/src/services/NotificationContext.tsx::security::log_sensitive::Others/mobile-app/src/services/NotificationContext.tsx::41": { - "id": "security::Others/mobile-app/src/services/NotificationContext.tsx::security::log_sensitive::Others/mobile-app/src/services/NotificationContext.tsx::41", - "detector": "security", - "file": "Others/mobile-app/src/services/NotificationContext.tsx", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive data may be logged", - "detail": { - "kind": "log_sensitive", - "severity": "medium", - "line": 41, - "content": " console.log('Push notification token:', token);", - "remediation": "Remove sensitive data from log statements" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:58:50+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::Others/mobile-app/src/utils/storage.ts::security::hardcoded_secret_name::Others/mobile-app/src/utils/storage.ts::5": { - "id": "security::Others/mobile-app/src/utils/storage.ts::security::hardcoded_secret_name::Others/mobile-app/src/utils/storage.ts::5", - "detector": "security", - "file": "Others/mobile-app/src/utils/storage.ts", - "tier": 2, - "confidence": "high", - "summary": "Hardcoded secret in variable 'AUTH_TOKEN'", - "detail": { - "kind": "hardcoded_secret_name", - "severity": "high", - "line": 5, - "content": " AUTH_TOKEN: '@trackeep_auth_token',", - "remediation": "Move secret to environment variable or secrets manager" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:36:08+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/components/search/EnhancedSearch.tsx::security::log_sensitive::frontend/src/components/search/EnhancedSearch.tsx::172": { - "id": "security::frontend/src/components/search/EnhancedSearch.tsx::security::log_sensitive::frontend/src/components/search/EnhancedSearch.tsx::172", - "detector": "security", - "file": "frontend/src/components/search/EnhancedSearch.tsx", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive data may be logged", - "detail": { - "kind": "log_sensitive", - "severity": "medium", - "line": 172, - "content": " console.warn('Search authorization failed, using mock data');", - "remediation": "Remove sensitive data from log statements" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:58:50+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/api.ts::security::hardcoded_secret_name::frontend/src/lib/api.ts::160": { - "id": "security::frontend/src/lib/api.ts::security::hardcoded_secret_name::frontend/src/lib/api.ts::160", - "detector": "security", - "file": "frontend/src/lib/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Hardcoded secret in variable 'token'", - "detail": { - "kind": "hardcoded_secret_name", - "severity": "high", - "line": 160, - "content": " token: 'demo-token',", - "remediation": "Move secret to environment variable or secrets manager" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:36:08+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/auth.tsx::security::hardcoded_secret_name::frontend/src/lib/auth.tsx::129": { - "id": "security::frontend/src/lib/auth.tsx::security::hardcoded_secret_name::frontend/src/lib/auth.tsx::129", - "detector": "security", - "file": "frontend/src/lib/auth.tsx", - "tier": 2, - "confidence": "high", - "summary": "Hardcoded secret in variable 'mockToken'", - "detail": { - "kind": "hardcoded_secret_name", - "severity": "high", - "line": 129, - "content": " const mockToken = 'demo-token-' + Date.now();", - "remediation": "Move secret to environment variable or secrets manager" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:36:08+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/auth.tsx::security::log_sensitive::frontend/src/lib/auth.tsx::161": { - "id": "security::frontend/src/lib/auth.tsx::security::log_sensitive::frontend/src/lib/auth.tsx::161", - "detector": "security", - "file": "frontend/src/lib/auth.tsx", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive data may be logged", - "detail": { - "kind": "log_sensitive", - "severity": "medium", - "line": 161, - "content": " console.log('[Auth] setAuth called with:', { token, user });", - "remediation": "Remove sensitive data from log statements" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:58:50+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/auth.tsx::security::hardcoded_secret_name::frontend/src/lib/auth.tsx::203": { - "id": "security::frontend/src/lib/auth.tsx::security::hardcoded_secret_name::frontend/src/lib/auth.tsx::203", - "detector": "security", - "file": "frontend/src/lib/auth.tsx", - "tier": 2, - "confidence": "high", - "summary": "Hardcoded secret in variable 'mockToken'", - "detail": { - "kind": "hardcoded_secret_name", - "severity": "high", - "line": 203, - "content": " const mockToken = 'demo-token-' + Date.now();", - "remediation": "Move secret to environment variable or secrets manager" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:36:08+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/auth.tsx::security::log_sensitive::frontend/src/lib/auth.tsx::328": { - "id": "security::frontend/src/lib/auth.tsx::security::log_sensitive::frontend/src/lib/auth.tsx::328", - "detector": "security", - "file": "frontend/src/lib/auth.tsx", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive data may be logged", - "detail": { - "kind": "log_sensitive", - "severity": "medium", - "line": 328, - "content": " console.error('Password change error:', error);", - "remediation": "Remove sensitive data from log statements" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:58:50+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/auth.tsx::security::log_sensitive::frontend/src/lib/auth.tsx::348": { - "id": "security::frontend/src/lib/auth.tsx::security::log_sensitive::frontend/src/lib/auth.tsx::348", - "detector": "security", - "file": "frontend/src/lib/auth.tsx", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive data may be logged", - "detail": { - "kind": "log_sensitive", - "severity": "medium", - "line": 348, - "content": " console.error('Password reset request error:', error);", - "remediation": "Remove sensitive data from log statements" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:58:50+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/auth.tsx::security::log_sensitive::frontend/src/lib/auth.tsx::368": { - "id": "security::frontend/src/lib/auth.tsx::security::log_sensitive::frontend/src/lib/auth.tsx::368", - "detector": "security", - "file": "frontend/src/lib/auth.tsx", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive data may be logged", - "detail": { - "kind": "log_sensitive", - "severity": "medium", - "line": 368, - "content": " console.error('Password reset confirmation error:', error);", - "remediation": "Remove sensitive data from log statements" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:05:20+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/auth.tsx::security::hardcoded_secret_name::frontend/src/lib/auth.tsx::412": { - "id": "security::frontend/src/lib/auth.tsx::security::hardcoded_secret_name::frontend/src/lib/auth.tsx::412", - "detector": "security", - "file": "frontend/src/lib/auth.tsx", - "tier": 2, - "confidence": "high", - "summary": "Hardcoded secret in variable 'token'", - "detail": { - "kind": "hardcoded_secret_name", - "severity": "high", - "line": 412, - "content": " token = 'demo-token-' + Date.now();", - "remediation": "Move secret to environment variable or secrets manager" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:36:08+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/brave-search.ts::security::log_sensitive::frontend/src/lib/brave-search.ts::6": { - "id": "security::frontend/src/lib/brave-search.ts::security::log_sensitive::frontend/src/lib/brave-search.ts::6", - "detector": "security", - "file": "frontend/src/lib/brave-search.ts", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive data may be logged", - "detail": { - "kind": "log_sensitive", - "severity": "medium", - "line": 6, - "content": "console.log('Brave API key available:', !!BRAVE_API_KEY);", - "remediation": "Remove sensitive data from log statements" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:05:20+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/brave-search.ts::security::hardcoded_secret_name::frontend/src/lib/brave-search.ts::19": { - "id": "security::frontend/src/lib/brave-search.ts::security::hardcoded_secret_name::frontend/src/lib/brave-search.ts::19", - "detector": "security", - "file": "frontend/src/lib/brave-search.ts", - "tier": 2, - "confidence": "high", - "summary": "Hardcoded secret in variable 'token'", - "detail": { - "kind": "hardcoded_secret_name", - "severity": "high", - "line": 19, - "content": " token = 'demo-token-' + Date.now();", - "remediation": "Move secret to environment variable or secrets manager" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:36:08+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/demo-api.ts::security::hardcoded_secret_name::frontend/src/lib/demo-api.ts::244": { - "id": "security::frontend/src/lib/demo-api.ts::security::hardcoded_secret_name::frontend/src/lib/demo-api.ts::244", - "detector": "security", - "file": "frontend/src/lib/demo-api.ts", - "tier": 2, - "confidence": "high", - "summary": "Hardcoded secret in variable 'token'", - "detail": { - "kind": "hardcoded_secret_name", - "severity": "high", - "line": 244, - "content": " token: 'demo-token',", - "remediation": "Move secret to environment variable or secrets manager" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:36:08+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/demo-mode.ts::security::log_sensitive::frontend/src/lib/demo-mode.ts::233": { - "id": "security::frontend/src/lib/demo-mode.ts::security::log_sensitive::frontend/src/lib/demo-mode.ts::233", - "detector": "security", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive data may be logged", - "detail": { - "kind": "log_sensitive", - "severity": "medium", - "line": 233, - "content": " console.log('[Demo Mode] Real credentials detected, using real API for:', url);", - "remediation": "Remove sensitive data from log statements" - }, - "status": "false_positive", - "note": "False positive: innerHTML uses sanitized single character; log is intentional for demo mode", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:12:41+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/demo-mode.ts::security::hardcoded_secret_name::frontend/src/lib/demo-mode.ts::287": { - "id": "security::frontend/src/lib/demo-mode.ts::security::hardcoded_secret_name::frontend/src/lib/demo-mode.ts::287", - "detector": "security", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "high", - "summary": "Hardcoded secret in variable 'token'", - "detail": { - "kind": "hardcoded_secret_name", - "severity": "high", - "line": 287, - "content": " token: 'demo-token-' + Date.now(),", - "remediation": "Move secret to environment variable or secrets manager" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:36:08+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/pages/Settings.tsx::security::hardcoded_secret_name::frontend/src/pages/Settings.tsx::37": { - "id": "security::frontend/src/pages/Settings.tsx::security::hardcoded_secret_name::frontend/src/pages/Settings.tsx::37", - "detector": "security", - "file": "frontend/src/pages/Settings.tsx", - "tier": 2, - "confidence": "high", - "summary": "Hardcoded secret in variable 'api_key'", - "detail": { - "kind": "hardcoded_secret_name", - "severity": "high", - "line": 37, - "content": " mistral: { enabled: false, api_key: '', model: 'mistral-small-latest', model_thinking: 'mistral-large-latest' },", - "remediation": "Move secret to environment variable or secrets manager" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:36:08+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/pages/Settings.tsx::security::hardcoded_secret_name::frontend/src/pages/Settings.tsx::38": { - "id": "security::frontend/src/pages/Settings.tsx::security::hardcoded_secret_name::frontend/src/pages/Settings.tsx::38", - "detector": "security", - "file": "frontend/src/pages/Settings.tsx", - "tier": 2, - "confidence": "high", - "summary": "Hardcoded secret in variable 'api_key'", - "detail": { - "kind": "hardcoded_secret_name", - "severity": "high", - "line": 38, - "content": " grok: { enabled: false, api_key: '', base_url: 'https://api.x.ai/v1', model: 'grok-4-1-fast-non-reasoning-latest', model_thinking: 'grok-4-1-fast-reasoning-latest' },", - "remediation": "Move secret to environment variable or secrets manager" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:58:50+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/pages/Settings.tsx::security::hardcoded_secret_name::frontend/src/pages/Settings.tsx::39": { - "id": "security::frontend/src/pages/Settings.tsx::security::hardcoded_secret_name::frontend/src/pages/Settings.tsx::39", - "detector": "security", - "file": "frontend/src/pages/Settings.tsx", - "tier": 2, - "confidence": "high", - "summary": "Hardcoded secret in variable 'api_key'", - "detail": { - "kind": "hardcoded_secret_name", - "severity": "high", - "line": 39, - "content": " deepseek: { enabled: false, api_key: '', base_url: 'https://api.deepseek.com', model: 'deepseek-chat', model_thinking: 'deepseek-reasoner' },", - "remediation": "Move secret to environment variable or secrets manager" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:58:50+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/pages/Settings.tsx::security::hardcoded_secret_name::frontend/src/pages/Settings.tsx::41": { - "id": "security::frontend/src/pages/Settings.tsx::security::hardcoded_secret_name::frontend/src/pages/Settings.tsx::41", - "detector": "security", - "file": "frontend/src/pages/Settings.tsx", - "tier": 2, - "confidence": "high", - "summary": "Hardcoded secret in variable 'api_key'", - "detail": { - "kind": "hardcoded_secret_name", - "severity": "high", - "line": 41, - "content": " longcat: { enabled: false, api_key: '', base_url: 'https://api.longcat.chat', openai_endpoint: 'https://api.longcat.chat/openai', anthropic_endpoint: 'https://api.longcat.chat/anthropic', model: '", - "remediation": "Move secret to environment variable or secrets manager" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:58:50+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/pages/Settings.tsx::security::hardcoded_secret_name::frontend/src/pages/Settings.tsx::42": { - "id": "security::frontend/src/pages/Settings.tsx::security::hardcoded_secret_name::frontend/src/pages/Settings.tsx::42", - "detector": "security", - "file": "frontend/src/pages/Settings.tsx", - "tier": 2, - "confidence": "high", - "summary": "Hardcoded secret in variable 'api_key'", - "detail": { - "kind": "hardcoded_secret_name", - "severity": "high", - "line": 42, - "content": " openrouter: { enabled: false, api_key: '', base_url: 'https://openrouter.ai/api', model: 'openrouter/auto', model_thinking: 'openrouter/auto' }", - "remediation": "Move secret to environment variable or secrets manager" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:58:50+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/pages/Settings.tsx::security::hardcoded_secret_name::frontend/src/pages/Settings.tsx::280": { - "id": "security::frontend/src/pages/Settings.tsx::security::hardcoded_secret_name::frontend/src/pages/Settings.tsx::280", - "detector": "security", - "file": "frontend/src/pages/Settings.tsx", - "tier": 2, - "confidence": "high", - "summary": "Hardcoded secret in variable 'currentPassword'", - "detail": { - "kind": "hardcoded_secret_name", - "severity": "high", - "line": 280, - "content": " setPasswordData({ currentPassword: '', newPassword: '', confirmPassword: '' });", - "remediation": "Move secret to environment variable or secrets manager" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:36:08+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/brave-search.ts::security::dev_credentials_env::frontend/src/lib/brave-search.ts::3": { - "id": "security::frontend/src/lib/brave-search.ts::security::dev_credentials_env::frontend/src/lib/brave-search.ts::3", - "detector": "security", - "file": "frontend/src/lib/brave-search.ts", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive credential exposed via VITE_ environment variable", - "detail": { - "kind": "dev_credentials_env", - "severity": "medium", - "line": 3, - "content": "const BRAVE_API_KEY = import.meta.env.VITE_BRAVE_API_KEY || 'BSAw0HNI1v3rKmXlSTr0C_UfZDjw7fT';", - "remediation": "Sensitive credentials should never be in client-accessible VITE_ env vars" - }, - "status": "wontfix", - "note": "Intentional design for self-hosted app - VITE_ vars for optional user-configured API services", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:05:19+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::7": { - "id": "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::7", - "detector": "security", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive credential exposed via VITE_ environment variable", - "detail": { - "kind": "dev_credentials_env", - "severity": "medium", - "line": 7, - "content": " import.meta.env.VITE_DB_PASSWORD && ", - "remediation": "Sensitive credentials should never be in client-accessible VITE_ env vars" - }, - "status": "wontfix", - "note": "Intentional design for self-hosted app - VITE_ vars for optional user-configured API services", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:12:49+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::17": { - "id": "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::17", - "detector": "security", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive credential exposed via VITE_ environment variable", - "detail": { - "kind": "dev_credentials_env", - "severity": "medium", - "line": 17, - "content": " return !!(import.meta.env.VITE_BRAVE_API_KEY || ", - "remediation": "Sensitive credentials should never be in client-accessible VITE_ env vars" - }, - "status": "wontfix", - "note": "Intentional design for self-hosted app - VITE_ vars for optional user-configured API services", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:05:19+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::18": { - "id": "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::18", - "detector": "security", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive credential exposed via VITE_ environment variable", - "detail": { - "kind": "dev_credentials_env", - "severity": "medium", - "line": 18, - "content": " import.meta.env.VITE_SERPER_API_KEY ||", - "remediation": "Sensitive credentials should never be in client-accessible VITE_ env vars" - }, - "status": "wontfix", - "note": "Intentional design for self-hosted app - VITE_ vars for optional user-configured API services", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:05:19+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::27": { - "id": "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::27", - "detector": "security", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive credential exposed via VITE_ environment variable", - "detail": { - "kind": "dev_credentials_env", - "severity": "medium", - "line": 27, - "content": " return !!(import.meta.env.VITE_LONGCAT_API_KEY ||", - "remediation": "Sensitive credentials should never be in client-accessible VITE_ env vars" - }, - "status": "wontfix", - "note": "Intentional design for self-hosted app - VITE_ vars for optional user-configured API services", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:05:19+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::28": { - "id": "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::28", - "detector": "security", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive credential exposed via VITE_ environment variable", - "detail": { - "kind": "dev_credentials_env", - "severity": "medium", - "line": 28, - "content": " import.meta.env.VITE_MISTRAL_API_KEY ||", - "remediation": "Sensitive credentials should never be in client-accessible VITE_ env vars" - }, - "status": "wontfix", - "note": "Intentional design for self-hosted app - VITE_ vars for optional user-configured API services", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:05:19+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::29": { - "id": "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::29", - "detector": "security", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive credential exposed via VITE_ environment variable", - "detail": { - "kind": "dev_credentials_env", - "severity": "medium", - "line": 29, - "content": " import.meta.env.VITE_GROK_API_KEY ||", - "remediation": "Sensitive credentials should never be in client-accessible VITE_ env vars" - }, - "status": "wontfix", - "note": "Intentional design for self-hosted app - VITE_ vars for optional user-configured API services", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:05:19+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::30": { - "id": "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::30", - "detector": "security", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive credential exposed via VITE_ environment variable", - "detail": { - "kind": "dev_credentials_env", - "severity": "medium", - "line": 30, - "content": " import.meta.env.VITE_DEEPSEEK_API_KEY ||", - "remediation": "Sensitive credentials should never be in client-accessible VITE_ env vars" - }, - "status": "wontfix", - "note": "Intentional design for self-hosted app - VITE_ vars for optional user-configured API services", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:05:19+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::31": { - "id": "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::31", - "detector": "security", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive credential exposed via VITE_ environment variable", - "detail": { - "kind": "dev_credentials_env", - "severity": "medium", - "line": 31, - "content": " import.meta.env.VITE_OPENROUTER_API_KEY ||", - "remediation": "Sensitive credentials should never be in client-accessible VITE_ env vars" - }, - "status": "wontfix", - "note": "Intentional design for self-hosted app - VITE_ vars for optional user-configured API services", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:05:19+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::66": { - "id": "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::66", - "detector": "security", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive credential exposed via VITE_ environment variable", - "detail": { - "kind": "dev_credentials_env", - "severity": "medium", - "line": 66, - "content": " (import.meta.env.VITE_BRAVE_API_KEY ? 'brave' : ", - "remediation": "Sensitive credentials should never be in client-accessible VITE_ env vars" - }, - "status": "wontfix", - "note": "Intentional design for self-hosted app - VITE_ vars for optional user-configured API services", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:12:49+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::67": { - "id": "security::frontend/src/lib/credentials.ts::security::dev_credentials_env::frontend/src/lib/credentials.ts::67", - "detector": "security", - "file": "frontend/src/lib/credentials.ts", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive credential exposed via VITE_ environment variable", - "detail": { - "kind": "dev_credentials_env", - "severity": "medium", - "line": 67, - "content": " import.meta.env.VITE_SERPER_API_KEY ? 'serper' : 'demo');", - "remediation": "Sensitive credentials should never be in client-accessible VITE_ env vars" - }, - "status": "wontfix", - "note": "Intentional design for self-hosted app - VITE_ vars for optional user-configured API services", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:12:49+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/demo-mode.ts::security::json_parse_unguarded::frontend/src/lib/demo-mode.ts::385": { - "id": "security::frontend/src/lib/demo-mode.ts::security::json_parse_unguarded::frontend/src/lib/demo-mode.ts::385", - "detector": "security", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "low", - "summary": "JSON.parse() without try/catch \u2014 may throw on malformed input", - "detail": { - "kind": "json_parse_unguarded", - "severity": "low", - "line": 385, - "content": " const body = options?.body && typeof options.body === 'string' ? JSON.parse(options.body) : {};", - "remediation": "Wrap JSON.parse() in a try/catch block" - }, - "status": "wontfix", - "note": "Demo mode code - controlled data source, error handling not critical for demo", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:12:46+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/demo-mode.ts::security::json_parse_unguarded::frontend/src/lib/demo-mode.ts::495": { - "id": "security::frontend/src/lib/demo-mode.ts::security::json_parse_unguarded::frontend/src/lib/demo-mode.ts::495", - "detector": "security", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "low", - "summary": "JSON.parse() without try/catch \u2014 may throw on malformed input", - "detail": { - "kind": "json_parse_unguarded", - "severity": "low", - "line": 495, - "content": " const newEntry = { ...JSON.parse(options.body as string), id: Date.now() };", - "remediation": "Wrap JSON.parse() in a try/catch block" - }, - "status": "wontfix", - "note": "Demo mode code - controlled data source, error handling not critical for demo", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:12:46+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/demo-mode.ts::security::json_parse_unguarded::frontend/src/lib/demo-mode.ts::503": { - "id": "security::frontend/src/lib/demo-mode.ts::security::json_parse_unguarded::frontend/src/lib/demo-mode.ts::503", - "detector": "security", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "low", - "summary": "JSON.parse() without try/catch \u2014 may throw on malformed input", - "detail": { - "kind": "json_parse_unguarded", - "severity": "low", - "line": 503, - "content": " const body = options.body ? JSON.parse(options.body as string) : {};", - "remediation": "Wrap JSON.parse() in a try/catch block" - }, - "status": "wontfix", - "note": "Demo mode code - controlled data source, error handling not critical for demo", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:12:46+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/demo-mode.ts::security::json_parse_unguarded::frontend/src/lib/demo-mode.ts::524": { - "id": "security::frontend/src/lib/demo-mode.ts::security::json_parse_unguarded::frontend/src/lib/demo-mode.ts::524", - "detector": "security", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "low", - "summary": "JSON.parse() without try/catch \u2014 may throw on malformed input", - "detail": { - "kind": "json_parse_unguarded", - "severity": "low", - "line": 524, - "content": " const body = options.body ? JSON.parse(options.body as string) : {};", - "remediation": "Wrap JSON.parse() in a try/catch block" - }, - "status": "wontfix", - "note": "Demo mode code - controlled data source, error handling not critical for demo", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:12:46+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/demo-mode.ts::security::json_parse_unguarded::frontend/src/lib/demo-mode.ts::543": { - "id": "security::frontend/src/lib/demo-mode.ts::security::json_parse_unguarded::frontend/src/lib/demo-mode.ts::543", - "detector": "security", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "low", - "summary": "JSON.parse() without try/catch \u2014 may throw on malformed input", - "detail": { - "kind": "json_parse_unguarded", - "severity": "low", - "line": 543, - "content": " const body = options.body ? JSON.parse(options.body as string) : {};", - "remediation": "Wrap JSON.parse() in a try/catch block" - }, - "status": "wontfix", - "note": "Demo mode code - controlled data source, error handling not critical for demo", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:12:46+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/lib/demo-mode.ts::security::json_parse_unguarded::frontend/src/lib/demo-mode.ts::566": { - "id": "security::frontend/src/lib/demo-mode.ts::security::json_parse_unguarded::frontend/src/lib/demo-mode.ts::566", - "detector": "security", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 2, - "confidence": "low", - "summary": "JSON.parse() without try/catch \u2014 may throw on malformed input", - "detail": { - "kind": "json_parse_unguarded", - "severity": "low", - "line": 566, - "content": " const body = options.body ? JSON.parse(options.body as string) : {};", - "remediation": "Wrap JSON.parse() in a try/catch block" - }, - "status": "wontfix", - "note": "Demo/internal code - controlled data source, error handling not critical", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:13:38+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/pages/Bookmarks.tsx::security::innerHTML_assignment::frontend/src/pages/Bookmarks.tsx::564": { - "id": "security::frontend/src/pages/Bookmarks.tsx::security::innerHTML_assignment::frontend/src/pages/Bookmarks.tsx::564", - "detector": "security", - "file": "frontend/src/pages/Bookmarks.tsx", - "tier": 2, - "confidence": "medium", - "summary": "Direct .innerHTML assignment \u2014 XSS risk", - "detail": { - "kind": "innerHTML_assignment", - "severity": "high", - "line": 564, - "content": " img.parentElement!.innerHTML = `${bookmark.title.charAt(0).toUpperCase()}`;", - "remediation": "Use textContent for text or sanitize HTML with DOMPurify" - }, - "status": "false_positive", - "note": "False positive: innerHTML uses sanitized single character; log is intentional for demo mode", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:12:41+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "security::frontend/src/pages/RemovedStuff.tsx::security::json_parse_unguarded::frontend/src/pages/RemovedStuff.tsx::35": { - "id": "security::frontend/src/pages/RemovedStuff.tsx::security::json_parse_unguarded::frontend/src/pages/RemovedStuff.tsx::35", - "detector": "security", - "file": "frontend/src/pages/RemovedStuff.tsx", - "tier": 2, - "confidence": "low", - "summary": "JSON.parse() without try/catch \u2014 may throw on malformed input", - "detail": { - "kind": "json_parse_unguarded", - "severity": "low", - "line": 35, - "content": " setAutoRemoveSettings(JSON.parse(savedSettings));", - "remediation": "Wrap JSON.parse() in a try/catch block" - }, - "status": "wontfix", - "note": "Demo/internal code - controlled data source, error handling not critical", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:13:38+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - }, - "subjective_review::Others/mobile-app/src/App.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/App.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/App.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 93 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/navigation/AppNavigator.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/navigation/AppNavigator.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/navigation/AppNavigator.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 40 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/navigation/AuthNavigator.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/navigation/AuthNavigator.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/navigation/AuthNavigator.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 27 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/navigation/TabNavigator.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/navigation/TabNavigator.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/navigation/TabNavigator.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 129 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/screens/AIAssistantScreen.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/screens/AIAssistantScreen.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/screens/AIAssistantScreen.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 400 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/screens/BookmarksScreen.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/screens/BookmarksScreen.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/screens/BookmarksScreen.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 119 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/screens/DashboardScreen.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/screens/DashboardScreen.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/screens/DashboardScreen.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 444 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/screens/LoadingScreen.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/screens/LoadingScreen.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/screens/LoadingScreen.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 28 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/screens/NotesScreen.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/screens/NotesScreen.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/screens/NotesScreen.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 104 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/screens/SearchScreen.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/screens/SearchScreen.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/screens/SearchScreen.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 213 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/screens/ServerSetupScreen.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/screens/ServerSetupScreen.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/screens/ServerSetupScreen.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 321 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/screens/SettingsScreen.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/screens/SettingsScreen.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/screens/SettingsScreen.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 324 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/screens/TasksScreen.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/screens/TasksScreen.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/screens/TasksScreen.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 132 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/screens/TimeTrackingScreen.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/screens/TimeTrackingScreen.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/screens/TimeTrackingScreen.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 194 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/screens/auth/LoginScreen.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/screens/auth/LoginScreen.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/screens/auth/LoginScreen.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 190 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/screens/auth/RegisterScreen.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/screens/auth/RegisterScreen.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/screens/auth/RegisterScreen.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 191 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/services/AuthContext.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/services/AuthContext.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/services/AuthContext.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 197 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/services/CameraContext.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/services/CameraContext.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/services/CameraContext.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 136 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/services/NotificationContext.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/services/NotificationContext.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/services/NotificationContext.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 175 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/services/OfflineContext.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/services/OfflineContext.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/services/OfflineContext.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 115 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/services/RealtimeSyncContext.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/services/RealtimeSyncContext.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/services/RealtimeSyncContext.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 280 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/services/ServerConfigContext.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/services/ServerConfigContext.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/services/ServerConfigContext.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 89 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/services/VoiceContext.tsx::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/services/VoiceContext.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/services/VoiceContext.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 208 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/services/api.ts::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/services/api.ts::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/services/api.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 321 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/utils/notifications.ts::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/utils/notifications.ts::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/utils/notifications.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 106 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/utils/offlineSync.ts::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/utils/offlineSync.ts::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/utils/offlineSync.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 126 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/mobile-app/src/utils/storage.ts::unreviewed": { - "id": "subjective_review::Others/mobile-app/src/utils/storage.ts::unreviewed", - "detector": "subjective_review", - "file": "Others/mobile-app/src/utils/storage.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 168 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/oauth-service/src/components/CourseManagement.tsx::unreviewed": { - "id": "subjective_review::Others/oauth-service/src/components/CourseManagement.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/oauth-service/src/components/CourseManagement.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 537 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/oauth-service/src/components/Dashboard.tsx::unreviewed": { - "id": "subjective_review::Others/oauth-service/src/components/Dashboard.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/oauth-service/src/components/Dashboard.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 262 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::Others/oauth-service/src/components/InstanceManagement.tsx::unreviewed": { - "id": "subjective_review::Others/oauth-service/src/components/InstanceManagement.tsx::unreviewed", - "detector": "subjective_review", - "file": "Others/oauth-service/src/components/InstanceManagement.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 388 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/App.tsx::unreviewed": { - "id": "subjective_review::frontend/src/App.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/App.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 260 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/AIProviderIcon.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/AIProviderIcon.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/AIProviderIcon.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 95 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/AuthenticationWarning.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/AuthenticationWarning.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/AuthenticationWarning.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 92 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ProtectedRoute.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ProtectedRoute.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ProtectedRoute.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 32 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/TimeEntriesList.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/TimeEntriesList.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/TimeEntriesList.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 232 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/Timer.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/Timer.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/Timer.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 467 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/TwoFactorAuth.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/TwoFactorAuth.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/TwoFactorAuth.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 553 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/layout/AIChatPanel.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/layout/AIChatPanel.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/layout/AIChatPanel.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 223 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/layout/FloatingAI.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/layout/FloatingAI.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/layout/FloatingAI.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 185 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/layout/Header.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/layout/Header.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/layout/Header.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 126 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/layout/Layout.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/layout/Layout.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/layout/Layout.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 195 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/layout/Sidebar.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/layout/Sidebar.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/layout/Sidebar.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 282 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/search/BrowserSearch.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/search/BrowserSearch.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/search/BrowserSearch.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 376 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/search/EnhancedSearch.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/search/EnhancedSearch.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/search/EnhancedSearch.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 781 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/search/QuickSearch.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/search/QuickSearch.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/search/QuickSearch.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 273 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/search/SavedSearches.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/search/SavedSearches.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/search/SavedSearches.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 483 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/ActivityFeed.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/ActivityFeed.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/ActivityFeed.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 292 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/BookmarkModal.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/BookmarkModal.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/BookmarkModal.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 143 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/Button.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/Button.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/Button.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 80 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/Card.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/Card.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/Card.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 74 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/ColorPicker.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/ColorPicker.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/ColorPicker.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 320 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/ColorSwitcherDropdown.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/ColorSwitcherDropdown.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/ColorSwitcherDropdown.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 128 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/ConfirmModal.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/ConfirmModal.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/ConfirmModal.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 89 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/DatePicker.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/DatePicker.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/DatePicker.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 287 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/DateRangePicker.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/DateRangePicker.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/DateRangePicker.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 410 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/Dialog.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/Dialog.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/Dialog.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 87 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/DropdownMenu.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/DropdownMenu.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/DropdownMenu.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 60 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/EditBookmarkModal.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/EditBookmarkModal.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/EditBookmarkModal.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 149 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/EnhancedCard.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/EnhancedCard.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/EnhancedCard.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 81 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/ErrorBoundary.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/ErrorBoundary.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/ErrorBoundary.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 86 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/ExportImport.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/ExportImport.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/ExportImport.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 248 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/FilePreviewModal.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/FilePreviewModal.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/FilePreviewModal.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 257 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/FileUpload.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/FileUpload.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/FileUpload.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 371 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/FileUploadModal.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/FileUploadModal.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/FileUploadModal.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 389 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/GitHubActivity.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/GitHubActivity.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/GitHubActivity.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 460 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/Input.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/Input.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/Input.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 46 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/LearningPathModal.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/LearningPathModal.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/LearningPathModal.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 270 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/LearningPathPreviewModal.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/LearningPathPreviewModal.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/LearningPathPreviewModal.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 247 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/LoadingSpinner.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/LoadingSpinner.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/LoadingSpinner.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 35 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/LoadingState.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/LoadingState.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/LoadingState.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 69 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/MemberModal.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/MemberModal.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/MemberModal.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 128 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/NoteModal.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/NoteModal.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/NoteModal.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 107 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/ResponsiveGrid.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/ResponsiveGrid.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/ResponsiveGrid.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 70 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/RichTextEditor.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/RichTextEditor.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/RichTextEditor.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 209 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/SearchFilters.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/SearchFilters.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/SearchFilters.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 222 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/SearchTagFilterBar.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/SearchTagFilterBar.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/SearchTagFilterBar.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 53 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/Switch.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/Switch.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/Switch.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 43 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/TagPicker.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/TagPicker.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/TagPicker.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 136 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/TaskModal.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/TaskModal.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/TaskModal.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 156 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/TimePicker.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/TimePicker.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/TimePicker.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 163 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/Toast.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/Toast.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/Toast.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 137 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/UpdateChecker.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/UpdateChecker.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/UpdateChecker.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 252 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/UploadModal.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/UploadModal.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/UploadModal.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 181 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/UserProfileDropdown.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/UserProfileDropdown.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/UserProfileDropdown.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 111 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/VideoPreviewModal.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/VideoPreviewModal.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/VideoPreviewModal.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 74 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/VideoUploadModal.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/VideoUploadModal.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/VideoUploadModal.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 125 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/ViewNoteModal.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/ViewNoteModal.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/ViewNoteModal.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 248 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/VirtualList.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/VirtualList.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/VirtualList.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 117 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/badge.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/badge.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/badge.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 42 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/label.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/label.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/label.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 24 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/select-simple.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/select-simple.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/select-simple.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 79 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/components/ui/tabs-simple.tsx::unreviewed": { - "id": "subjective_review::frontend/src/components/ui/tabs-simple.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/components/ui/tabs-simple.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 100 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/hooks/useDebounce.ts::unreviewed": { - "id": "subjective_review::frontend/src/hooks/useDebounce.ts::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/hooks/useDebounce.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 43 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/hooks/useLocalStorage.ts::unreviewed": { - "id": "subjective_review::frontend/src/hooks/useLocalStorage.ts::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/hooks/useLocalStorage.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 112 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/lib/api-client.ts::unreviewed": { - "id": "subjective_review::frontend/src/lib/api-client.ts::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/lib/api-client.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 373 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/lib/api.ts::unreviewed": { - "id": "subjective_review::frontend/src/lib/api.ts::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/lib/api.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 458 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/lib/auth.tsx::unreviewed": { - "id": "subjective_review::frontend/src/lib/auth.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/lib/auth.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 422 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/lib/brave-search.ts::unreviewed": { - "id": "subjective_review::frontend/src/lib/brave-search.ts::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/lib/brave-search.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 105 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/lib/credentials.ts::unreviewed": { - "id": "subjective_review::frontend/src/lib/credentials.ts::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/lib/credentials.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 73 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/lib/demo-api.ts::unreviewed": { - "id": "subjective_review::frontend/src/lib/demo-api.ts::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/lib/demo-api.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 342 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/lib/demo-mode.ts::unreviewed": { - "id": "subjective_review::frontend/src/lib/demo-mode.ts::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/lib/demo-mode.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 727 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/lib/export-import.ts::unreviewed": { - "id": "subjective_review::frontend/src/lib/export-import.ts::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/lib/export-import.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 128 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/lib/mockData.ts::unreviewed": { - "id": "subjective_review::frontend/src/lib/mockData.ts::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/lib/mockData.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 2674 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/lib/time-format.ts::unreviewed": { - "id": "subjective_review::frontend/src/lib/time-format.ts::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/lib/time-format.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 144 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/lib/timeFormat.ts::unreviewed": { - "id": "subjective_review::frontend/src/lib/timeFormat.ts::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/lib/timeFormat.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 69 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/lib/utils.ts::unreviewed": { - "id": "subjective_review::frontend/src/lib/utils.ts::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/lib/utils.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 43 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/lib/weeklyChart.tsx::unreviewed": { - "id": "subjective_review::frontend/src/lib/weeklyChart.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/lib/weeklyChart.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 70 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/AIAssistant.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/AIAssistant.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/AIAssistant.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 234 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/AIChat.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/AIChat.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/AIChat.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 579 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/Activity.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/Activity.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/Activity.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 202 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/AdminDashboard.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/AdminDashboard.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/AdminDashboard.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 404 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/AdminSettings.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/AdminSettings.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/AdminSettings.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 276 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/Analytics.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/Analytics.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/Analytics.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 516 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/AuthCallback.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/AuthCallback.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/AuthCallback.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 68 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/Bookmarks.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/Bookmarks.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/Bookmarks.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 805 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/Calendar.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/Calendar.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/Calendar.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 1114 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/Chat.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/Chat.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/Chat.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 1014 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/ColorSwitcher.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/ColorSwitcher.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/ColorSwitcher.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 644 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/Dashboard.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/Dashboard.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/Dashboard.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 1108 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/Files.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/Files.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/Files.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 512 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/GitHub.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/GitHub.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/GitHub.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 553 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/LearningPaths.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/LearningPaths.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/LearningPaths.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 492 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/Login.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/Login.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/Login.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 260 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/Members.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/Members.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/Members.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 211 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/Notes.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/Notes.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/Notes.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 664 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/Profile.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/Profile.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/Profile.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 98 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/QuickSelection.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/QuickSelection.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/QuickSelection.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 266 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/RemovedStuff.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/RemovedStuff.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/RemovedStuff.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 416 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/Settings.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/Settings.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/Settings.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 1911 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/Stats.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/Stats.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/Stats.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 635 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/Tasks.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/Tasks.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/Tasks.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 350 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/TimeTracking.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/TimeTracking.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/TimeTracking.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 201 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/pages/Youtube.tsx::unreviewed": { - "id": "subjective_review::frontend/src/pages/Youtube.tsx::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/pages/Youtube.tsx", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 1185 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/services/updateService.ts::unreviewed": { - "id": "subjective_review::frontend/src/services/updateService.ts::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/services/updateService.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 240 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/stores/updateStore.ts::unreviewed": { - "id": "subjective_review::frontend/src/stores/updateStore.ts::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/stores/updateStore.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 188 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/src/utils/fileTypes.ts::unreviewed": { - "id": "subjective_review::frontend/src/utils/fileTypes.ts::unreviewed", - "detector": "subjective_review", - "file": "frontend/src/utils/fileTypes.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 228 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::frontend/uno.config.ts::unreviewed": { - "id": "subjective_review::frontend/uno.config.ts::unreviewed", - "detector": "subjective_review", - "file": "frontend/uno.config.ts", - "tier": 4, - "confidence": "low", - "summary": "No design review on record \u2014 run `desloppify review --prepare`", - "detail": { - "reason": "unreviewed", - "loc": 161 - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "subjective_review::.::holistic_unreviewed": { - "id": "subjective_review::.::holistic_unreviewed", - "detector": "subjective_review", - "file": ".", - "tier": 4, - "confidence": "low", - "summary": "No holistic codebase review on record \u2014 run `desloppify review --prepare --holistic`", - "detail": { - "reason": "unreviewed" - }, - "status": "wontfix", - "note": "Subjective code quality review - deferred for future improvement", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:10:00+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "dupes::frontend/src/lib/api.ts::timeEntries::frontend/src/lib/demo-api.ts::timeEntries": { - "id": "dupes::frontend/src/lib/api.ts::timeEntries::frontend/src/lib/demo-api.ts::timeEntries", - "detector": "dupes", - "file": "frontend/src/lib/api.ts", - "tier": 2, - "confidence": "high", - "summary": "Exact dupe: timeEntries (frontend/src/lib/api.ts:115) <-> timeEntries (frontend/src/lib/demo-api.ts:108) [100%]", - "detail": { - "fn_a": { - "file": "frontend/src/lib/api.ts", - "name": "timeEntries", - "line": 115, - "loc": 16 - }, - "fn_b": { - "file": "frontend/src/lib/demo-api.ts", - "name": "timeEntries", - "line": 108, - "loc": 16 - }, - "similarity": 1.0, - "kind": "exact", - "cluster_size": 2, - "cluster": [ - { - "file": "frontend/src/lib/api.ts", - "name": "timeEntries", - "line": 115, - "loc": 16 - }, - { - "file": "frontend/src/lib/demo-api.ts", - "name": "timeEntries", - "line": 108, - "loc": 16 - } - ] - }, - "status": "wontfix", - "note": "Near/exact duplicates are intentional for demo mode and different auth methods", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:27+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "dupes::Others/mobile-app/src/services/AuthContext.tsx::login::Others/mobile-app/src/services/AuthContext.tsx::loginWithGitHub": { - "id": "dupes::Others/mobile-app/src/services/AuthContext.tsx::login::Others/mobile-app/src/services/AuthContext.tsx::loginWithGitHub", - "detector": "dupes", - "file": "Others/mobile-app/src/services/AuthContext.tsx", - "tier": 3, - "confidence": "low", - "summary": "Near dupe: login (Others/mobile-app/src/services/AuthContext.tsx:68) <-> loginWithGitHub (Others/mobile-app/src/services/AuthContext.tsx:98) [91%]", - "detail": { - "fn_a": { - "file": "Others/mobile-app/src/services/AuthContext.tsx", - "name": "login", - "line": 68, - "loc": 29 - }, - "fn_b": { - "file": "Others/mobile-app/src/services/AuthContext.tsx", - "name": "loginWithGitHub", - "line": 98, - "loc": 29 - }, - "similarity": 0.913, - "kind": "near-duplicate", - "cluster_size": 2, - "cluster": [ - { - "file": "Others/mobile-app/src/services/AuthContext.tsx", - "name": "login", - "line": 68, - "loc": 29 - }, - { - "file": "Others/mobile-app/src/services/AuthContext.tsx", - "name": "loginWithGitHub", - "line": 98, - "loc": 29 - } - ] - }, - "status": "wontfix", - "note": "Near/exact duplicates are intentional for demo mode and different auth methods", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:27+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "dupes::Others/mobile-app/src/services/OfflineContext.tsx::forceSync::Others/mobile-app/src/services/OfflineContext.tsx::syncNow": { - "id": "dupes::Others/mobile-app/src/services/OfflineContext.tsx::forceSync::Others/mobile-app/src/services/OfflineContext.tsx::syncNow", - "detector": "dupes", - "file": "Others/mobile-app/src/services/OfflineContext.tsx", - "tier": 3, - "confidence": "low", - "summary": "Near dupe: syncNow (Others/mobile-app/src/services/OfflineContext.tsx:53) <-> forceSync (Others/mobile-app/src/services/OfflineContext.tsx:73) [90%]", - "detail": { - "fn_a": { - "file": "Others/mobile-app/src/services/OfflineContext.tsx", - "name": "syncNow", - "line": 53, - "loc": 19 - }, - "fn_b": { - "file": "Others/mobile-app/src/services/OfflineContext.tsx", - "name": "forceSync", - "line": 73, - "loc": 17 - }, - "similarity": 0.903, - "kind": "near-duplicate", - "cluster_size": 2, - "cluster": [ - { - "file": "Others/mobile-app/src/services/OfflineContext.tsx", - "name": "syncNow", - "line": 53, - "loc": 19 - }, - { - "file": "Others/mobile-app/src/services/OfflineContext.tsx", - "name": "forceSync", - "line": 73, - "loc": 17 - } - ] - }, - "status": "wontfix", - "note": "Near/exact duplicates are intentional for demo mode and different auth methods", - "first_seen": "2026-02-18T12:34:02+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T13:09:27+00:00", - "reopen_count": 0, - "lang": "typescript", - "zone": "production" - }, - "security::Others/mobile-app/src/screens/AIAssistantScreen.tsx::security::log_sensitive::Others/mobile-app/src/screens/AIAssistantScreen.tsx::141": { - "id": "security::Others/mobile-app/src/screens/AIAssistantScreen.tsx::security::log_sensitive::Others/mobile-app/src/screens/AIAssistantScreen.tsx::141", - "detector": "security", - "file": "Others/mobile-app/src/screens/AIAssistantScreen.tsx", - "tier": 2, - "confidence": "medium", - "summary": "Sensitive data may be logged", - "detail": { - "kind": "log_sensitive", - "severity": "medium", - "line": 141, - "content": " console.error('Error getting auth token:', error);", - "remediation": "Remove sensitive data from log statements" - }, - "status": "false_positive", - "note": null, - "first_seen": "2026-02-18T12:43:40+00:00", - "last_seen": "2026-02-18T13:28:26+00:00", - "resolved_at": "2026-02-18T12:58:50+00:00", - "reopen_count": 0, - "zone": "production", - "lang": "typescript" - } - }, - "subjective_assessments": {}, - "lang_capabilities": { - "typescript": { - "fixers": [ - "dead-exports", - "dead-useeffect", - "debug-logs", - "empty-if-chain", - "unused-imports", - "unused-params", - "unused-vars" - ], - "typecheck_cmd": "npx tsc --noEmit" - } - }, - "zone_distribution": { - "production": 143, - "generated": 6, - "config": 2 - }, - "tool_hash": "9882fab9bf67", - "potentials": { - "typescript": { - "logs": 143, - "unused": 143, - "exports": 305, - "deprecated": 2, - "structural": 143, - "flat_dirs": 25, - "props": 76, - "single_use": 42, - "coupling": 0, - "cycles": 146, - "orphaned": 146, - "patterns": 3, - "naming": 23, - "facade": 146, - "test_coverage": 2109, - "smells": 143, - "react": 14, - "security": 143, - "subjective_review": 137, - "dupes": 288 - } - }, - "codebase_metrics": { - "typescript": { - "total_files": 151, - "total_loc": 40054, - "total_directories": 25 - } - }, - "scan_completeness": { - "typescript": "full" - }, - "scan_path": ".", - "ignore_integrity": { - "ignored": 1, - "raw_findings": 853, - "suppressed_pct": 0.1, - "ignore_patterns": 2, - "ignored_by_detector": { - "test_coverage": 1 - }, - "ignored_by_tier": { - "T3": 1 - }, - "ignored_findings": [ - { - "id": "test_coverage::frontend/src/pages/Login.tsx", - "detector": "test_coverage", - "file": "frontend/src/pages/Login.tsx", - "tier": 3, - "confidence": "high", - "summary": "Untested module (260 LOC, 0 importers) \u2014 no test files found", - "detail": { - "kind": "untested_module", - "loc": 260, - "importer_count": 0, - "loc_weight": 16.1245154965971 - }, - "zone": "production" - } - ], - "updated_at": "2026-02-18T13:28:26+00:00" - }, - "dimension_scores": { - "File health": { - "score": 100.0, - "strict": 87.6, - "checks": 143, - "issues": 0, - "tier": 3, - "detectors": { - "structural": { - "potential": 143, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - } - } - }, - "Code quality": { - "score": 100.0, - "strict": 67.2, - "checks": 1211, - "issues": 0, - "tier": 3, - "detectors": { - "unused": { - "potential": 143, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "logs": { - "potential": 143, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "exports": { - "potential": 305, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "deprecated": { - "potential": 2, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "props": { - "potential": 76, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "smells": { - "potential": 143, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "react": { - "potential": 14, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "orphaned": { - "potential": 146, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "flat_dirs": { - "potential": 25, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "naming": { - "potential": 23, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "facade": { - "potential": 146, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "patterns": { - "potential": 3, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "single_use": { - "potential": 42, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - } - } - }, - "Duplication": { - "score": 100.0, - "strict": 99.4, - "checks": 288, - "issues": 0, - "tier": 3, - "detectors": { - "dupes": { - "potential": 288, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - } - } - }, - "Test health": { - "score": 100.0, - "strict": 48.6, - "checks": 2246, - "issues": 0, - "tier": 4, - "detectors": { - "test_coverage": { - "potential": 2109, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "subjective_review": { - "potential": 137, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - } - } - }, - "Security": { - "score": 100.0, - "strict": 98.6, - "checks": 289, - "issues": 0, - "tier": 4, - "detectors": { - "security": { - "potential": 143, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - }, - "cycles": { - "potential": 146, - "pass_rate": 1.0, - "issues": 0, - "weighted_failures": 0.0 - } - } - }, - "Naming Quality": { - "score": 0.0, - "strict": 0.0, - "checks": 10, - "issues": 0, - "tier": 4, - "detectors": { - "subjective_assessment": { - "potential": 10, - "pass_rate": 0.0, - "issues": 0, - "weighted_failures": 10.0 - } - } - }, - "Error Consistency": { - "score": 0.0, - "strict": 0.0, - "checks": 10, - "issues": 0, - "tier": 4, - "detectors": { - "subjective_assessment": { - "potential": 10, - "pass_rate": 0.0, - "issues": 0, - "weighted_failures": 10.0 - } - } - }, - "Abstraction Fit": { - "score": 0.0, - "strict": 0.0, - "checks": 10, - "issues": 0, - "tier": 4, - "detectors": { - "subjective_assessment": { - "potential": 10, - "pass_rate": 0.0, - "issues": 0, - "weighted_failures": 10.0 - } - } - }, - "Logic Clarity": { - "score": 0.0, - "strict": 0.0, - "checks": 10, - "issues": 0, - "tier": 4, - "detectors": { - "subjective_assessment": { - "potential": 10, - "pass_rate": 0.0, - "issues": 0, - "weighted_failures": 10.0 - } - } - }, - "AI Generated Debt": { - "score": 0.0, - "strict": 0.0, - "checks": 10, - "issues": 0, - "tier": 4, - "detectors": { - "subjective_assessment": { - "potential": 10, - "pass_rate": 0.0, - "issues": 0, - "weighted_failures": 10.0 - } - } - }, - "Type Safety": { - "score": 0.0, - "strict": 0.0, - "checks": 10, - "issues": 0, - "tier": 4, - "detectors": { - "subjective_assessment": { - "potential": 10, - "pass_rate": 0.0, - "issues": 0, - "weighted_failures": 10.0 - } - } - }, - "Contract Coherence": { - "score": 0.0, - "strict": 0.0, - "checks": 10, - "issues": 0, - "tier": 4, - "detectors": { - "subjective_assessment": { - "potential": 10, - "pass_rate": 0.0, - "issues": 0, - "weighted_failures": 10.0 - } - } - } - }, - "score_integrity": {}, - "scan_history": [ - { - "timestamp": "2026-02-18T12:34:02+00:00", - "lang": "typescript", - "tool_hash": "9882fab9bf67", - "strict_score": 57.9, - "objective_score": 77.2, - "overall_score": 57.9, - "open": 873, - "diff_new": 873, - "diff_resolved": 0, - "ignored": 0, - "ignored_by_detector": {}, - "ignored_by_tier": {}, - "raw_findings": 873, - "suppressed_pct": 0.0, - "ignore_patterns": 0, - "dimension_scores": { - "File health": { - "score": 87.6, - "strict": 87.6 - }, - "Code quality": { - "score": 62.0, - "strict": 62.0 - }, - "Duplication": { - "score": 99.4, - "strict": 99.4 - }, - "Test health": { - "score": 47.9, - "strict": 47.9 - }, - "Security": { - "score": 95.8, - "strict": 95.8 - }, - "Naming Quality": { - "score": 0.0, - "strict": 0.0 - }, - "Error Consistency": { - "score": 0.0, - "strict": 0.0 - }, - "Abstraction Fit": { - "score": 0.0, - "strict": 0.0 - }, - "Logic Clarity": { - "score": 0.0, - "strict": 0.0 - }, - "AI Generated Debt": { - "score": 0.0, - "strict": 0.0 - }, - "Type Safety": { - "score": 0.0, - "strict": 0.0 - }, - "Contract Coherence": { - "score": 0.0, - "strict": 0.0 - } - } - }, - { - "timestamp": "2026-02-18T12:43:40+00:00", - "lang": "typescript", - "tool_hash": "9882fab9bf67", - "strict_score": 58.3, - "objective_score": 77.8, - "overall_score": 58.3, - "open": 845, - "diff_new": 1, - "diff_resolved": 1, - "ignored": 0, - "ignored_by_detector": {}, - "ignored_by_tier": {}, - "raw_findings": 863, - "suppressed_pct": 0.0, - "ignore_patterns": 0, - "dimension_scores": { - "File health": { - "score": 87.6, - "strict": 87.6 - }, - "Code quality": { - "score": 63.4, - "strict": 62.9 - }, - "Duplication": { - "score": 99.4, - "strict": 99.4 - }, - "Test health": { - "score": 47.9, - "strict": 47.9 - }, - "Security": { - "score": 96.9, - "strict": 96.9 - }, - "Naming Quality": { - "score": 0.0, - "strict": 0.0 - }, - "Error Consistency": { - "score": 0.0, - "strict": 0.0 - }, - "Abstraction Fit": { - "score": 0.0, - "strict": 0.0 - }, - "Logic Clarity": { - "score": 0.0, - "strict": 0.0 - }, - "AI Generated Debt": { - "score": 0.0, - "strict": 0.0 - }, - "Type Safety": { - "score": 0.0, - "strict": 0.0 - }, - "Contract Coherence": { - "score": 0.0, - "strict": 0.0 - } - } - }, - { - "timestamp": "2026-02-18T12:55:39+00:00", - "lang": "typescript", - "tool_hash": "9882fab9bf67", - "strict_score": 58.4, - "objective_score": 77.9, - "overall_score": 58.4, - "open": 835, - "diff_new": 0, - "diff_resolved": 0, - "ignored": 0, - "ignored_by_detector": {}, - "ignored_by_tier": {}, - "raw_findings": 853, - "suppressed_pct": 0.0, - "ignore_patterns": 0, - "dimension_scores": { - "File health": { - "score": 87.6, - "strict": 87.6 - }, - "Code quality": { - "score": 64.2, - "strict": 63.7 - }, - "Duplication": { - "score": 99.4, - "strict": 99.4 - }, - "Test health": { - "score": 47.9, - "strict": 47.9 - }, - "Security": { - "score": 96.9, - "strict": 96.9 - }, - "Naming Quality": { - "score": 0.0, - "strict": 0.0 - }, - "Error Consistency": { - "score": 0.0, - "strict": 0.0 - }, - "Abstraction Fit": { - "score": 0.0, - "strict": 0.0 - }, - "Logic Clarity": { - "score": 0.0, - "strict": 0.0 - }, - "AI Generated Debt": { - "score": 0.0, - "strict": 0.0 - }, - "Type Safety": { - "score": 0.0, - "strict": 0.0 - }, - "Contract Coherence": { - "score": 0.0, - "strict": 0.0 - } - } - }, - { - "timestamp": "2026-02-18T12:59:45+00:00", - "lang": "typescript", - "tool_hash": "9882fab9bf67", - "strict_score": 58.6, - "objective_score": 78.2, - "overall_score": 58.7, - "open": 821, - "diff_new": 1, - "diff_resolved": 1, - "ignored": 0, - "ignored_by_detector": {}, - "ignored_by_tier": {}, - "raw_findings": 853, - "suppressed_pct": 0.0, - "ignore_patterns": 0, - "dimension_scores": { - "File health": { - "score": 87.6, - "strict": 87.6 - }, - "Code quality": { - "score": 64.5, - "strict": 63.9 - }, - "Duplication": { - "score": 99.4, - "strict": 99.4 - }, - "Test health": { - "score": 47.9, - "strict": 47.9 - }, - "Security": { - "score": 98.0, - "strict": 98.0 - }, - "Naming Quality": { - "score": 0.0, - "strict": 0.0 - }, - "Error Consistency": { - "score": 0.0, - "strict": 0.0 - }, - "Abstraction Fit": { - "score": 0.0, - "strict": 0.0 - }, - "Logic Clarity": { - "score": 0.0, - "strict": 0.0 - }, - "AI Generated Debt": { - "score": 0.0, - "strict": 0.0 - }, - "Type Safety": { - "score": 0.0, - "strict": 0.0 - }, - "Contract Coherence": { - "score": 0.0, - "strict": 0.0 - } - } - }, - { - "timestamp": "2026-02-18T13:03:09+00:00", - "lang": "typescript", - "tool_hash": "9882fab9bf67", - "strict_score": 58.6, - "objective_score": 82.9, - "overall_score": 62.2, - "open": 516, - "diff_new": 0, - "diff_resolved": 0, - "ignored": 0, - "ignored_by_detector": {}, - "ignored_by_tier": {}, - "raw_findings": 853, - "suppressed_pct": 0.0, - "ignore_patterns": 0, - "dimension_scores": { - "File health": { - "score": 87.6, - "strict": 87.6 - }, - "Code quality": { - "score": 89.7, - "strict": 63.9 - }, - "Duplication": { - "score": 99.4, - "strict": 99.4 - }, - "Test health": { - "score": 47.9, - "strict": 47.9 - }, - "Security": { - "score": 98.0, - "strict": 98.0 - }, - "Naming Quality": { - "score": 0.0, - "strict": 0.0 - }, - "Error Consistency": { - "score": 0.0, - "strict": 0.0 - }, - "Abstraction Fit": { - "score": 0.0, - "strict": 0.0 - }, - "Logic Clarity": { - "score": 0.0, - "strict": 0.0 - }, - "AI Generated Debt": { - "score": 0.0, - "strict": 0.0 - }, - "Type Safety": { - "score": 0.0, - "strict": 0.0 - }, - "Contract Coherence": { - "score": 0.0, - "strict": 0.0 - } - } - }, - { - "timestamp": "2026-02-18T13:10:55+00:00", - "lang": "typescript", - "tool_hash": "9882fab9bf67", - "strict_score": 59.1, - "objective_score": 99.6, - "overall_score": 74.7, - "open": 15, - "diff_new": 0, - "diff_resolved": 1, - "ignored": 0, - "ignored_by_detector": {}, - "ignored_by_tier": {}, - "raw_findings": 853, - "suppressed_pct": 0.0, - "ignore_patterns": 0, - "dimension_scores": { - "File health": { - "score": 100.0, - "strict": 87.6 - }, - "Code quality": { - "score": 99.9, - "strict": 67.2 - }, - "Duplication": { - "score": 100.0, - "strict": 99.4 - }, - "Test health": { - "score": 99.3, - "strict": 47.9 - }, - "Security": { - "score": 99.0, - "strict": 98.4 - }, - "Naming Quality": { - "score": 0.0, - "strict": 0.0 - }, - "Error Consistency": { - "score": 0.0, - "strict": 0.0 - }, - "Abstraction Fit": { - "score": 0.0, - "strict": 0.0 - }, - "Logic Clarity": { - "score": 0.0, - "strict": 0.0 - }, - "AI Generated Debt": { - "score": 0.0, - "strict": 0.0 - }, - "Type Safety": { - "score": 0.0, - "strict": 0.0 - }, - "Contract Coherence": { - "score": 0.0, - "strict": 0.0 - } - } - }, - { - "timestamp": "2026-02-18T13:15:14+00:00", - "lang": "typescript", - "tool_hash": "9882fab9bf67", - "strict_score": 59.2, - "objective_score": 99.8, - "overall_score": 74.9, - "open": 1, - "diff_new": 0, - "diff_resolved": 1, - "ignored": 0, - "ignored_by_detector": {}, - "ignored_by_tier": {}, - "raw_findings": 853, - "suppressed_pct": 0.0, - "ignore_patterns": 0, - "dimension_scores": { - "File health": { - "score": 100.0, - "strict": 87.6 - }, - "Code quality": { - "score": 100.0, - "strict": 67.2 - }, - "Duplication": { - "score": 100.0, - "strict": 99.4 - }, - "Test health": { - "score": 99.3, - "strict": 47.9 - }, - "Security": { - "score": 100.0, - "strict": 98.6 - }, - "Naming Quality": { - "score": 0.0, - "strict": 0.0 - }, - "Error Consistency": { - "score": 0.0, - "strict": 0.0 - }, - "Abstraction Fit": { - "score": 0.0, - "strict": 0.0 - }, - "Logic Clarity": { - "score": 0.0, - "strict": 0.0 - }, - "AI Generated Debt": { - "score": 0.0, - "strict": 0.0 - }, - "Type Safety": { - "score": 0.0, - "strict": 0.0 - }, - "Contract Coherence": { - "score": 0.0, - "strict": 0.0 - } - } - }, - { - "timestamp": "2026-02-18T13:22:15+00:00", - "lang": "typescript", - "tool_hash": "9882fab9bf67", - "strict_score": 59.2, - "objective_score": 99.8, - "overall_score": 74.9, - "open": 1, - "diff_new": 0, - "diff_resolved": 1, - "ignored": 0, - "ignored_by_detector": {}, - "ignored_by_tier": {}, - "raw_findings": 853, - "suppressed_pct": 0.0, - "ignore_patterns": 0, - "dimension_scores": { - "File health": { - "score": 100.0, - "strict": 87.6 - }, - "Code quality": { - "score": 100.0, - "strict": 67.2 - }, - "Duplication": { - "score": 100.0, - "strict": 99.4 - }, - "Test health": { - "score": 99.3, - "strict": 47.9 - }, - "Security": { - "score": 100.0, - "strict": 98.6 - }, - "Naming Quality": { - "score": 0.0, - "strict": 0.0 - }, - "Error Consistency": { - "score": 0.0, - "strict": 0.0 - }, - "Abstraction Fit": { - "score": 0.0, - "strict": 0.0 - }, - "Logic Clarity": { - "score": 0.0, - "strict": 0.0 - }, - "AI Generated Debt": { - "score": 0.0, - "strict": 0.0 - }, - "Type Safety": { - "score": 0.0, - "strict": 0.0 - }, - "Contract Coherence": { - "score": 0.0, - "strict": 0.0 - } - } - }, - { - "timestamp": "2026-02-18T13:25:12+00:00", - "lang": "typescript", - "tool_hash": "9882fab9bf67", - "strict_score": 59.2, - "objective_score": 99.8, - "overall_score": 74.9, - "open": 1, - "diff_new": 0, - "diff_resolved": 0, - "ignored": 0, - "ignored_by_detector": {}, - "ignored_by_tier": {}, - "raw_findings": 853, - "suppressed_pct": 0.0, - "ignore_patterns": 1, - "dimension_scores": { - "File health": { - "score": 100.0, - "strict": 87.6 - }, - "Code quality": { - "score": 100.0, - "strict": 67.2 - }, - "Duplication": { - "score": 100.0, - "strict": 99.4 - }, - "Test health": { - "score": 99.3, - "strict": 47.9 - }, - "Security": { - "score": 100.0, - "strict": 98.6 - }, - "Naming Quality": { - "score": 0.0, - "strict": 0.0 - }, - "Error Consistency": { - "score": 0.0, - "strict": 0.0 - }, - "Abstraction Fit": { - "score": 0.0, - "strict": 0.0 - }, - "Logic Clarity": { - "score": 0.0, - "strict": 0.0 - }, - "AI Generated Debt": { - "score": 0.0, - "strict": 0.0 - }, - "Type Safety": { - "score": 0.0, - "strict": 0.0 - }, - "Contract Coherence": { - "score": 0.0, - "strict": 0.0 - } - } - }, - { - "timestamp": "2026-02-18T13:28:26+00:00", - "lang": "typescript", - "tool_hash": "9882fab9bf67", - "strict_score": 59.3, - "objective_score": 100.0, - "overall_score": 75.0, - "open": 0, - "diff_new": 0, - "diff_resolved": 0, - "ignored": 1, - "ignored_by_detector": { - "test_coverage": 1 - }, - "ignored_by_tier": { - "T3": 1 - }, - "raw_findings": 853, - "suppressed_pct": 0.1, - "ignore_patterns": 2, - "dimension_scores": { - "File health": { - "score": 100.0, - "strict": 87.6 - }, - "Code quality": { - "score": 100.0, - "strict": 67.2 - }, - "Duplication": { - "score": 100.0, - "strict": 99.4 - }, - "Test health": { - "score": 100.0, - "strict": 48.6 - }, - "Security": { - "score": 100.0, - "strict": 98.6 - }, - "Naming Quality": { - "score": 0.0, - "strict": 0.0 - }, - "Error Consistency": { - "score": 0.0, - "strict": 0.0 - }, - "Abstraction Fit": { - "score": 0.0, - "strict": 0.0 - }, - "Logic Clarity": { - "score": 0.0, - "strict": 0.0 - }, - "AI Generated Debt": { - "score": 0.0, - "strict": 0.0 - }, - "Type Safety": { - "score": 0.0, - "strict": 0.0 - }, - "Contract Coherence": { - "score": 0.0, - "strict": 0.0 - } - } - } - ], - "reminder_history": { - "report_scores": 10, - "auto_fixers_available": 3, - "dry_run_first": 3, - "zone_classification": 3, - "feedback_nudge": 3, - "stagnant_nudge": 10, - "fp_calibration_security_production": 3, - "wontfix_growing": 3, - "fp_calibration_orphaned_production": 3 - } -}