Skip to content

Improve Git import speeds and enhance logging and performance#60

Merged
leefaus merged 8 commits into
devfrom
feature/import-performance
May 21, 2026
Merged

Improve Git import speeds and enhance logging and performance#60
leefaus merged 8 commits into
devfrom
feature/import-performance

Conversation

@leefaus
Copy link
Copy Markdown
Contributor

@leefaus leefaus commented May 19, 2026

This pull request introduces several improvements and refactorings across the atomic-agent and atomic-cli codebases, focusing on enhanced locking mechanisms for session and turn handling, improved summary display for changes, better code clarity, and support for additional agents. Key changes are grouped below by theme.

Concurrency and Locking Improvements:

  • Replaced blocking exclusive file locks with non-blocking try_lock_exclusive in provenance accumulator and save logic, logging a warning and skipping the operation if the lock is already held. This prevents deadlocks or long waits if another process is working on the same session. [1] [2]
  • Added a new lock mechanism to prevent duplicate "turn end" (Stop hook) processing per session. If a turn-end is already being recorded, a warning is logged and the duplicate is skipped. This uses a dedicated lock file and a guard struct to manage lock acquisition and release. [1] [2] [3] [4]

Change Display and Summarization:

  • Improved the CLI change summary output to aggregate graph operations by file path, displaying one summary row per path instead of one per operation. This makes large changesets more readable and concise, especially for bulk imports or large records.
  • Introduced new structs and helper functions (HunkDisplaySummary, HunkDisplayAggregate, hunk_display_summaries, etc.) to support the summarized display logic.

Agent Support and CLI Enhancements:

  • Added support for global hook installation for the codex agent in the CLI, alongside existing support for claude-code and gemini-cli. The CLI now recognizes and provides feedback for codex global installs. [1] [2]

Code Cleanup and Refactoring:

  • Removed excessive inline documentation and simplified logic in the claude_code/settings.rs hooks and settings management, making the code more concise and easier to maintain. Refactored several functions for clarity and idiomatic Rust style. [1] [2] [3] [4] [5] [6] [7] [8]

Testing Improvements:

  • Added a helper function for generating edit hunks in CLI change command tests, improving test readability and maintainability. [1] [2]

@leefaus leefaus merged commit 84bb8d9 into dev May 21, 2026
8 checks 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.

1 participant