-
Remove dead Claude Desktop code —
universal-engine.tscontains ~1000 lines of unused Desktop/DXT integration code (LevelDB, IndexedDB, LocalStorage search). The feature branch is dead and DXT builds are not used. Comment out or remove the Desktop-specific methods, keeping only theUniversalHistorySearchEnginewrapper that delegates toHistorySearchEngine. -
Eliminate
anytypes — 99 instances ofanyacross all files (JSON parsing, dynamic data, LevelDB). Refactor to useunknownwith type guards, or define proper interfaces. This would allow upgrading eslint back torecommendedTypeChecked. -
Re-enable
noUncheckedIndexedAccess— Currently disabled due to 45+ violations from pervasive array iteration patterns. Onceanytypes are eliminated and array access is properly guarded, this can be re-enabled for stronger type safety. -
Fix
console.errormisuse — Previousconsole.logcalls were mechanically replaced withconsole.error. Review each call site: some are debug logging that should be removed, others are genuine error reporting that should stay.
- Extract Claude Desktop to separate package — If Desktop support is needed in the future, extract it to a separate
claude-historian-desktoppackage rather than bundling dead code in the main MCP server.
- Add return types — 2 functions missing explicit return types (
search-helpers.ts:360,search.ts:712). Low priority but improves readability.