feat(go): Comprehensive Go scanner improvements and architecture enhancements#140
Merged
feat(go): Comprehensive Go scanner improvements and architecture enhancements#140
Conversation
…ype checking - Simplify error handling from 12 to 3 layers (file-level, safeIterate, extractImports) - Enable type checking with lenient settings for better cross-file symbol resolution - Add detailed error tracking with phase detection and file paths - Remove excessive defensive coding while maintaining robustness - Improve error logging: first 10 errors at INFO level, rest at DEBUG - Better progress reporting with success/failure counts This improves callee extraction accuracy while maintaining graceful error handling.
…ncements Critical reliability fixes, performance improvements, and testability enhancements for Go support: ## High Priority Fixes - Fix silent dependency failures in copy-wasm.js script - Add runtime WASM validation to Go scanner with early error detection - Standardize error logging levels across scanners - Enhance progress feedback with time estimates ## Performance & Reliability - Add configurable concurrency via environment variables (DEV_AGENT_*_CONCURRENCY) - Implement system resource detection with intelligent defaults - Add batch processing for embeddings and file operations - Prevent memory issues on resource-constrained systems ## Architecture & Testability - Extract reusable utility modules for WASM resolution, concurrency, file validation - Implement dependency injection for mockable file system operations - Add comprehensive test coverage (57 new tests) for utility functions - Centralize error handling patterns across scanners ## Documentation - Add Configuration section to README with performance tuning - Create LANGUAGE_SUPPORT.md with contributor guidelines - Document new environment variables and troubleshooting steps - Add system requirements and optimization recommendations ## New Environment Variables - DEV_AGENT_TYPESCRIPT_CONCURRENCY: TypeScript scanner concurrency - DEV_AGENT_INDEXER_CONCURRENCY: Embedding batch concurrency - DEV_AGENT_GO_CONCURRENCY: Go scanner concurrency - DEV_AGENT_CONCURRENCY: General fallback concurrency These changes ensure robust Go support for production use while maintaining backward compatibility and improving the overall developer experience.
Resolved conflict in README.md by combining v0.6.0 Go support with performance improvements into a unified release entry.
The lockfile was out of sync with packages/core/package.json after adding tree-sitter-wasms dependency. This ensures CI builds work correctly with the new Go scanner dependencies.
Remove all Renovate configuration files, workflows, and documentation: - renovate.json5 and renovate.json (main configuration) - .github/renovate-automerge.json5 (automerge settings) - .github/renovate-groups.json5 (package grouping) - .github/workflows/renovate.yml (GitHub Actions workflow) - docs/DEPENDENCY_MANAGEMENT.md (Renovate documentation) Dependencies will now be managed manually to give more control over updates and reduce automated PR noise.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR delivers critical reliability fixes, performance improvements, and architectural enhancements for Go language support in dev-agent. The changes ensure robust production-ready Go support while significantly improving developer experience and system reliability.
High Priority Fixes ✅
Performance & Reliability ⚡
DEV_AGENT_*_CONCURRENCY)Architecture & Testability 🏗️
Documentation 📚
New Environment Variables
DEV_AGENT_TYPESCRIPT_CONCURRENCY: Control TypeScript scanner parallelismDEV_AGENT_INDEXER_CONCURRENCY: Configure embedding batch processingDEV_AGENT_GO_CONCURRENCY: Tune Go scanner performanceDEV_AGENT_CONCURRENCY: General fallback for all scannersTest Plan
Breaking Changes
None - all changes maintain backward compatibility
Files Changed
This release ensures dev-agent's Go support is production-ready with excellent reliability, performance, and developer experience.