Skip to content

update/harsh/optimizations#52

Merged
harshkedia177 merged 17 commits intomainfrom
update/harsh/optimizations
Mar 8, 2026
Merged

update/harsh/optimizations#52
harshkedia177 merged 17 commits intomainfrom
update/harsh/optimizations

Conversation

@harshkedia177
Copy link
Copy Markdown
Owner

  • fix: comprehensive bugfix and optimization pass across ingestion pipeline
  • refactor: split resolution from mutation in ingestion pipeline for concurrency
  • feat: implement read-only fallback mode for KuzuBackend initialization
  • refactor: update process_heritage to return edges and patches as a tuple
  • refactor: clean up docstrings and comments across ingestion modules
  • refactor: improve storage management and type annotations in ingestion modules
  • feat: add handle_coupling tool for temporal coupling analysis
  • feat: enhance MCP server with new tools for code analysis
  • feat: add new tools for code analysis in MCP server
  • feat: enhance Axon with shared host capabilities and new runtime management
  • chore:cleanup
  • feat: add update notifier to Axon CLI
  • feat: Updated graphs physics to prevent overlapping and allow equi-distance between nodes
  • refactor: UI update for graph as well as performance improvements
  • feat: enhance FileTree component with improved node highlighting and community layout support
  • feat: add Axon logo and update README and header layout

harshkedia177 and others added 17 commits March 4, 2026 22:46
…line

- O(1) has_incoming via type-indexed secondary index (graph.py)
- Fix find_containing_symbol missing deeply nested symbols (symbol_lookup.py)
- Merge import symbols per file pair instead of dropping duplicates (imports.py)
- Class-scoped self/this method resolution, path-prefix proximity matching,
  per-file import cache, and >5 candidate guard on global fuzzy (calls.py)
- CSV bulk-load with PARALLEL=false and cleanup on fallback (kuzu_backend.py)
- Persist arbitrary node properties via properties_json column (kuzu_backend.py)
- Walker uses git ls-files with os.walk() fallback and dir pruning (walker.py)
- Shared name index across calls/heritage/types phases (pipeline.py)
- Pre-built class→methods index for protocol conformance (dead_code.py)
- Community detection includes heritage edges at 0.5 weight (community.py)
- TS entry point detection refined to index/entry files only (processes.py)
- Watch mode skips communities/processes for small changes (watcher.py)
- Remove dead `full` param, merge structure/coupling passes, deduplicate FTS
…ncurrency

Extract pure resolve_file_*() functions from imports, calls, heritage,
types, and coupling phases that return ResolvedEdge/NodePropertyPatch
instead of mutating the graph directly. Pipeline now runs calls/heritage/
types resolution concurrently (3 threads) and overlaps coupling git I/O
with community/process/dead_code phases. All graph writes remain sequential.
- Enhanced KuzuBackend's initialize method to support retry logic on lock contention, allowing for a specified number of retries with exponential backoff.
- Updated the serve function to fall back to read-only mode if the write lock is held by another process, enabling the MCP server to run without file watching.
- Introduced a context manager for short-lived read-only connections, ensuring fresh data access while releasing locks promptly after use.
- Modified the `process_heritage` function to return a tuple of `ResolvedEdge` and `NodePropertyPatch` lists when `collect` is True, allowing for deferred application of property patches.
- Updated the ingestion pipeline to handle the new return type, ensuring property patches are applied after edges are written to the graph.
- Cleaned up the symbol lookup documentation and removed unnecessary start_lines handling in `FileSymbolIndex` for improved clarity and performance.
- Refactored storage access in the MCP server to utilize a new `_with_storage` function for better readability and maintainability.
- Removed unnecessary docstring content and comments in various ingestion modules to enhance clarity and maintainability.
- Updated function docstrings to be more concise while retaining essential information.
- Improved overall readability of the codebase by eliminating redundant explanations and comments that cluttered the logic.
- Ensured consistency in documentation style across different files.
…n modules

- Enhanced the `serve` function to properly manage storage lifecycle during read-only fallback, ensuring resources are released after use.
- Updated type annotations in various ingestion functions to utilize `FileSymbolIndex`, improving code clarity and type safety.
- Refactored the `resolve_coupling` function to conditionally retrieve file nodes, optimizing performance and readability.
- Adjusted the ingestion pipeline to utilize a filtered heritage name index, enhancing the resolution of relationships while maintaining concurrency.
- Added four new tools: `axon_coupling`, `axon_communities`, `axon_explain`, and `axon_review_risk` to provide advanced code intelligence features.
- Updated the server to register these tools and handle their respective requests.
- Refactored the `handle_detect_changes` function for improved clarity and functionality.
- Enhanced test coverage for the new tools, ensuring robust functionality and reliability.
- Introduced five new tools: `axon_call_path`, `axon_file_context`, `axon_test_impact`, and `axon_cycles` to enhance code intelligence capabilities.
- Updated the MCP server to register these tools and handle their respective requests.
- Enhanced the `handle_context` function to include heritage and imported-by information for symbols.
- Improved test coverage for the new tools and related functionalities, ensuring robust performance and reliability.
…gement

- Added support for a shared host in the Axon CLI, allowing multiple sessions and UI integration via `axon host --watch`.
- Introduced `AxonRuntime` class to manage shared state across host processes, including storage and event listeners.
- Updated the web application to support host metadata retrieval and improved API routing for host-related functionalities.
- Enhanced documentation and README to reflect new features and usage instructions.
- Added tests for new host command and UI behavior to ensure reliability and performance.
- Implemented an update notification system in the Axon CLI to inform users of available updates.
- Introduced caching for the latest version check to minimize network requests.
- Added tests to ensure the update notice functionality works correctly, including conditions for skipping notifications on specific commands.
- Updated `pyproject.toml` to include a marker for running tests with the update notice enabled.
Update and refactoring of graph rendering in the UI
…community layout support

- Added a new `setsMatch` function to compare highlighted node sets.
- Refactored `TreeNode` to utilize `targetNodeIds` for active state management.
- Updated styles for active nodes and badges to improve visual feedback.
- Introduced community layout calculations in `GraphCanvas` for better cluster representation.
- Enhanced edge rendering based on highlighted nodes for clearer graph interactions.
- Introduced Axon logo as a new asset in the project.
- Updated README to include the logo centered at the top.
- Modified the HTML header to link the logo as a favicon.
- Replaced the Hexagon icon in the Header component with the Axon logo for improved branding.
@harshkedia177 harshkedia177 merged commit d5db249 into main Mar 8, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants