Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: cogniplex/codemem
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.10.0
Choose a base ref
...
head repository: cogniplex/codemem
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.10.1
Choose a head ref
  • 5 commits
  • 101 files changed
  • 3 contributors

Commits on Mar 8, 2026

  1. refactor: tier 1 quick wins — dead code, wiring, visibility, dedup (#13)

    1. Delete dead cleanup_deleted_files() (zero callers)
    2. Wire hooks/diff.rs into edit extractor — compute_diff() now called
       with old/new strings, semantic summary added to memory content+metadata
    3. Replace panic!() in rule_loader.rs with Result return
    4. Add "summarize" to CLI VALID_CYCLES (was unreachable from CLI)
    5. Fix MCP consolidate auto mode to run all 5 cycles
    6. Delete unused GraphConfig fields (max_expansion_hops, bridge_similarity_threshold)
    7. Delete unused StorageConfig.db_path field
    8. Fix stale "30 tools" comment → 32 in mcp/mod.rs and test assertions
    9. Narrow test-only pub functions with #[cfg(test)]: personalized_pagerank,
       strongly_connected_components, max_degree, graph_memory_estimate,
       Bm25Index::build, OpenAIProvider::with_api_key
    10. Extract MemoryRow::from_row() — eliminates 4 copy-paste blocks
    
    Also: fix comparison.md recommendations (claude-mem, Cognee, AutoMem,
    Supermemory, claude-context, MCP tool count 28→32)
    
    Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
    mehrdadpfg and claude authored Mar 8, 2026
    Configuration menu
    Copy the full SHA
    56a469a View commit details
    Browse the repository at this point in the history
  2. refactor: tier 2 quick wins — constructors, dedup helpers, storage er…

    …gonomics (#14)
    
    - Add MemoryNode::new() and test_default() constructors, replacing 63 struct literals
    - Add MapStorageErr trait, replacing 182 .map_err(|e| CodememError::Storage(...)) calls
    - Move truncate to codemem-core::utils, re-export from scoring.rs and codemem lib
    - Extract insert_memory_inner() helper, deduplicating insert_memory/insert_memory_no_tx
    - Merge store_insight/store_pattern_memory into shared store_enrichment_memory helper
    - Convert ~20 test files to use MemoryNode::test_default()
    
    Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
    mehrdadpfg and claude authored Mar 8, 2026
    Configuration menu
    Copy the full SHA
    e7243b7 View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2026

  1. refactor: tier 3 — domain logic to engine, drop binary storage/embedd…

    …ings deps (#15)
    
    * refactor: tier 3 — move domain logic to engine, eliminate binary's direct storage/embeddings deps
    
    Tasks 23-28 plus the dependency elimination:
    
    - store_memory_with_links: consolidated edge building + auto-linking into engine
    - Insight aggregation: moved PageRank/Louvain/topology from API routes to engine
    - Eliminated storage_direct from API: all access routed through engine
    - Moved PCA to engine crate (computational logic, not transport)
    - Added engine facade methods for graph ops (traverse, stats, edges, louvain, pagerank)
    - Moved RawGraphMetrics to codemem-core as cross-crate DTO
    - Removed codemem-storage and codemem-embeddings from binary crate deps;
      all access now via re-exports from codemem-engine
    - Simplified build_server() from ~50 lines of manual assembly to
      McpServer::from_db_path() delegation
    - Made CodememEngine::from_db_path() handle corrupt vector files gracefully
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    
    * fix: resolve 6 infinite recursion bugs in StorageBackend trait impl
    
    Use fully-qualified `Storage::method(self, ...)` syntax to dispatch to
    the inherent impl instead of recursing into the trait method.
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    
    * fix: remove redundant save_index() in store_memory_with_links
    
    persist_memory() already calls save_index() internally via
    persist_memory_inner(memory, true), so the extra call serialized
    the vector index to disk twice on every store_memory MCP call.
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
    mehrdadpfg and claude authored Mar 9, 2026
    Configuration menu
    Copy the full SHA
    a92b846 View commit details
    Browse the repository at this point in the history
  2. refactor: fix bugs, unify flows, add safe accessors, define constants (

    …#16)
    
    * refactor: fix bugs, unify flows, add safe accessors, define constants
    
    Phase 1 — Bug fixes:
    - Fix search_code double-inverting HNSW similarity scores
    - Fix delete_namespace using non-atomic deletes (now cascade)
    - Fix session_checkpoint bypassing BM25/graph/embedding pipeline
    - Fix CLI export bumping access_count on read-only operation
    - Fix API PUT /memories double access_count bump
    
    Phase 2 — Safe read-only access:
    - Add with_graph()/with_vector() closure accessors on CodememEngine
    - Remove raw mutex accessors (graph_mutex, vector_mutex, etc.)
    
    Phase 3 — Unify duplicate flows:
    - MCP session_context delegates to engine.session_context()
    - API namespace stats delegates to engine.namespace_stats()
    - Unified analyze pipeline via engine.analyze(AnalyzeOptions)
    - Extract collect_subgraph() helper for BFS+edge pattern in API
    - All API graph routes use engine.with_graph() instead of raw mutex
    - Remove MCP delegation methods (lock_graph, lock_vector, etc.)
    
    Phase 4 — Audit cleanup:
    - Define named constants for scoring weights in scoring.rs
    - Define named constants for compaction weights in compaction.rs
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    
    * style: address Aikido review — reduce nesting, extract helpers, early return
    
    - Extract collect_edges_between() helper to flatten collect_subgraph nesting
    - Extract build_subgraph_response() to move logic out of with_graph closure
    - Use early return in tool_session_context instead of match arm nesting
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    
    * refactor: introduce RecallQuery struct, decompose persist pipeline
    
    Item 35: Replace recall()'s 7 positional parameters with RecallQuery struct.
    Named fields prevent argument swaps; RecallQuery::new() provides a clean
    default for the common case. Extract passes_quality_filters() helper.
    Update all 20+ callers across engine, MCP, API, and tests.
    
    Item 31: Break persist_index_results_with_progress (490 lines) into focused
    helpers: persist_graph_nodes, build_package_tree, build_symbol_nodes,
    build_symbol_payload, build_reference_edges, build_chunk_nodes,
    embed_and_persist, persist_nodes/edges_to_storage_and_graph.
    Orchestrator is now ~30 lines.
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    
    * style: flatten build_package_tree nesting with early-continue guards
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
    mehrdadpfg and claude authored Mar 9, 2026
    Configuration menu
    Copy the full SHA
    1554c3f View commit details
    Browse the repository at this point in the history
  3. chore: release main (#12)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    github-actions[bot] authored Mar 9, 2026
    Configuration menu
    Copy the full SHA
    95e6fc4 View commit details
    Browse the repository at this point in the history
Loading