mirror of
https://github.com/Dvorinka/Trackeep.git
synced 2026-06-03 20:12:58 +00:00
19963 lines
718 KiB
JSON
19963 lines
718 KiB
JSON
{
|
|
"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 = `<span class=\"text-xs text-muted-foreground font-medium\">${bookmark.title.charAt(0).toUpperCase()}</span>`;",
|
|
"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
|
|
}
|
|
}
|