francy51 7663e504af Optimize Rust backend for correctness, performance, and idioms
- Fix data consistency bug where replace_ghosts_for_workspace returned
  stale unmutated ghost data instead of the DB-persisted versions
- Replace 11 RwLock .unwrap() calls with proper error propagation via
  read_cache/write_cache helpers to prevent lock poisoning panics
- Add error logging to 3 silently swallowed spawn/scheduler errors
- Replace per-call Vec allocation in get_function with match statement
- Cache 6 regex compilations as LazyLock<Regex> statics
- Cache stop-words BTreeSet and common concepts as LazyLock statics
- Fix O(n*m) merge_unique with HashSet-based membership testing
- Eliminate clone chains in mapping CRUD via ownership transfer
- Change String params to &str where only reading (import_mappings, import)
- Restructure resolver to nested HashMap for zero-alloc borrowed lookups
- Use Arc<str> for streaming event IDs to avoid per-event String clones
- Replace to_ascii_lowercase with eq_ignore_ascii_case (zero-alloc)
- Remove intermediate Vec<f64> allocation in chart summarization
- Add #[non_exhaustive] to public error enums (AppError, ResearchError)
- Implement std::str::FromStr for TargetField instead of inherent method
- Remove 9 unnecessary .to_string() on const store keys
- Add #[must_use] to ~20 pure functions across all modules
- Fix double-clone in save_job, useless_format, needless_borrow,
  unnecessary_map_or, and ambiguous boolean expression
2026-04-16 00:58:05 -04:00
2026-04-04 12:17:18 -04:00
Description
No description provided
4.3 MiB
Languages
Rust 58%
TypeScript 41.4%
CSS 0.5%