Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
7c29a95
Remove: Outdated info from CLAUDE.md
Sewer56 Dec 31, 2025
dfb6055
Changed: Use vendor agnostic AGENTS.md
Sewer56 Dec 31, 2025
ed8e885
Improve: Further cleanup of AGENTS.md for simplicity.
Sewer56 Dec 31, 2025
0240c89
Refactor: Split AGENTS.md into modular .agents/ files
Sewer56 Dec 31, 2025
005c816
Temporary: Make targeted fixes in .agents folder regarding missing info.
Sewer56 Dec 31, 2025
25e8250
Refactor: Trim agent docs to remove duplicated implementation details
Sewer56 Dec 31, 2025
5092907
Update verification steps with comprehensive cargo flags
Sewer56 Dec 31, 2025
a779016
Fix PRICING.md to reference MODEL_INDEX instead of non-existent provi…
Sewer56 Dec 31, 2025
82202e8
Replace serde_json with simd_json for all JSON operations
Sewer56 Dec 31, 2025
b71020a
Simplify verification commands to match single-binary project structure
Sewer56 Dec 31, 2025
df89709
Fix MD034 lint: convert bare URLs to inline links in PRICING.md
Sewer56 Dec 31, 2025
69d09f5
Updated: Project Dependencies to Latest
Sewer56 Dec 31, 2025
4e0080b
Improve TUI memory usage with view-based architecture and incremental…
Sewer56 Dec 31, 2025
6c50a92
Use PathHash newtype for file_contribution_cache keys
Sewer56 Jan 1, 2026
d6a6643
Don't store redundant data_source_cache & Optimize is_available() to …
Sewer56 Jan 1, 2026
62e6fb6
Improve: Attempt to deduplicate SessionAggregate instances
Sewer56 Jan 1, 2026
787550b
Improve: Use RwLock for zero-copy incremental updates
Sewer56 Jan 1, 2026
ac25a6c
Fix: Validate file paths before incremental reload
Sewer56 Jan 1, 2026
57deb54
Merge remote-tracking branch 'origin/main' into improve-memory-usage-2
Sewer56 Jan 1, 2026
2b781de
Fix: Preserve analyzer tab order across TUI updates
Sewer56 Jan 1, 2026
0b1a5bd
Add debug logging for diagnosing lock contention
Sewer56 Jan 1, 2026
ab4d163
Improve: Use Arc<str> for SessionAggregate analyzer_name to reduce me…
Sewer56 Jan 1, 2026
c59bb2d
Fix: Release read lock before draw_summary_stats to prevent deadlock
Sewer56 Jan 1, 2026
8d89d1a
Add TuiStats struct to reduce memory for TUI display aggregates
Sewer56 Jan 1, 2026
6dd8fd3
Revert "Add debug logging for diagnosing lock contention"
Sewer56 Jan 1, 2026
699a016
Reduce SessionAggregate memory with string interning and compact DayKey
Sewer56 Jan 1, 2026
bd3c6cc
Use DayKey for session_day_filters and DailyStats.date
Sewer56 Jan 1, 2026
932fd6c
Rename DayKey to CompactDate for clarity
Sewer56 Jan 1, 2026
f892634
Remove thread pool from load_all_stats_views, run sequentially
Sewer56 Jan 1, 2026
9b90b51
Replace rayon/jwalk with tokio/walkdir for parallelism
Sewer56 Jan 1, 2026
7e95fa4
Replace async parsing with rayon threadpool
Sewer56 Jan 1, 2026
ddedcc7
Add scoped threadpool helper to fix memory leaks in upload paths
Sewer56 Jan 1, 2026
0b5dc8e
Merge branch 'main' into improve-memory-usage-2
Sewer56 Jan 1, 2026
e82d6d5
Add incremental auto-upload to reduce memory usage
Sewer56 Jan 2, 2026
64eaaf8
Fix rustfmt formatting in upload.rs
Sewer56 Jan 2, 2026
92aa7e5
Fix MCP get_daily_stats to return actual file operation stats
Sewer56 Jan 2, 2026
26e99e9
Use official libmimalloc-sys crate instead of manual FFI
Sewer56 Jan 2, 2026
01fb5af
Update docs to reference walkdir instead of jwalk
Sewer56 Jan 2, 2026
85cee19
Migrate from std::sync::Mutex to parking_lot::Mutex
Sewer56 Jan 2, 2026
0aed0bc
Fix rustdoc warnings for bare URL and HTML tag
Sewer56 Jan 2, 2026
b019197
Use reference counting for session model tracking
Sewer56 Jan 2, 2026
b9b4ff0
Replace BTreeMap with TinyVec for SessionAggregate.models
Sewer56 Jan 2, 2026
5a3949e
Fix file contribution cache by preserving source-message association
Sewer56 Jan 2, 2026
0506b0c
Changed: Introduce a 3 tier contribution cache system for per-file up…
Sewer56 Jan 2, 2026
78fdcc7
Refactor: Extract contribution_cache into module with subfiles
Sewer56 Jan 3, 2026
5226764
Refactor: Split contribution_cache tests by strategy type
Sewer56 Jan 3, 2026
3d61ff2
Refactor: Add SessionHash newtype wrapper for session hash fields
Sewer56 Jan 3, 2026
06b8c27
Refactor: Migrate model interning from Spur to MiniSpur newtype
Sewer56 Jan 3, 2026
67e4294
Optimize SingleMessageContribution from 40 to 32 bytes
Sewer56 Jan 3, 2026
b46bf80
Merge branch 'main' into improve-memory-usage-2
bl-ue Jan 15, 2026
0238275
Remove old .agents
bl-ue Jan 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,101 changes: 1,471 additions & 630 deletions Cargo.lock

Large diffs are not rendered by default.

47 changes: 29 additions & 18 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,49 +5,60 @@ edition = "2024"
license = "MIT"
authors = ["Piebald LLC <[email protected]>"]

[features]
default = ["mimalloc"]
# Use mimalloc allocator for reduced memory usage. Disable for heaptrack profiling:
# cargo build --no-default-features
mimalloc = ["dep:mimalloc", "dep:libmimalloc-sys"]

[dependencies]
serde = { version = "1.0.219", features = ["derive"] }
mimalloc = { version = "0.1.48", default-features = false, features = ["v3"], optional = true }
libmimalloc-sys = { version = "0.1.44", features = ["extended"], optional = true }
serde = { version = "1.0.228", features = ["derive"] }
anyhow = "1.0"
glob = "0.3"
jwalk = "0.8"
walkdir = "2"
xxhash-rust = { version = "0.8", features = ["xxh3"] }
chrono = { version = "0.4", features = ["serde"] }
tokio = { version = "1", features = ["full"] }
rayon = "1.8"
lasso = { version = "0.7", features = ["multi-threaded"] }
futures = "0.3"
rayon = "1.10"
dashmap = "6"
num-format = "0.4"
ratatui = "0.29"
ratatui = "0.30.0"
crossterm = "0.29"

toml = "0.9.2"
toml = "0.9.10"
async-trait = "0.1"
notify = "8.1"
notify = "8.2"
notify-types = "2.0"
sha2 = "0.10"
phf = { version = "0.12.1", features = ["macros"] }
serde_bytes = "0.11.17"
simd-json = { version = "0.15.1", features = ["serde"] }
tiktoken-rs = "0.6"
phf = { version = "0.13.1", features = ["macros"] }
serde_bytes = "0.11.19"
simd-json = { version = "0.17.0", features = ["serde"] }
tiktoken-rs = "0.9.1"
parking_lot = "0.12"
bincode = "1.3"
tinyvec = { version = "1.8", features = ["alloc"] }
c2rust-bitfields = "0.18"
bincode = "2.0.1"
dirs = "6.0"
chrono-tz = "0.10"
rusqlite = { version = "0.35", features = ["bundled"] }
rusqlite = { version = "0.38.0", features = ["bundled"] }
iana-time-zone = "0.1"

# MCP server support
rmcp = { version = "0.9.1", features = ["server", "macros", "transport-io"] }
schemars = "1.0"
rmcp = { version = "0.12.0", features = ["server", "macros", "transport-io"] }
schemars = "1.2"

[dependencies.clap]
version = "4.5.41"
version = "4.5.53"
features = ["derive"]

[dependencies.reqwest]
version = "0.12.22"
version = "0.13.1"
default-features = false
features = ["rustls-tls"]
features = ["rustls"]

[dev-dependencies]
tempfile = "3.0"
tempfile = "3.24"
Loading