Skip to content

Commit fcda027

Browse files
committed
🔥 Remove file_analyzers module and ProjectMetadata infrastructure
Delete language-specific file analyzers and automatic metadata extraction in favor of the LLM-driven approach with git_diff relevance scoring. The file_analyzers module attempted to extract structured metadata (language, framework, dependencies) from files, but this duplicated work that the LLM does better with full context. Removing it: - Eliminates 14 analyzer implementations (Rust, Python, JS, Java, etc.) - Removes ProjectMetadata from CommitContext and StagedFile - Converts async git_info methods to sync (no more metadata futures) - Deletes FileAnalyzer and ProjectMetadataTool from agent tools - Moves should_exclude_file() to git/utils.rs This simplifies the codebase significantly while relying on the diff relevance scoring system to guide LLM attention to important changes.
1 parent e286dbf commit fcda027

36 files changed

+92
-3722
lines changed

src/agents/iris.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ const CAPABILITY_CHANGELOG: &str = include_str!("capabilities/changelog.toml");
2323
const CAPABILITY_RELEASE_NOTES: &str = include_str!("capabilities/release_notes.toml");
2424

2525
use crate::agents::tools::{
26-
CodeSearch, FileAnalyzer, FileRead, GitChangedFiles, GitDiff, GitLog, GitRepoInfo, GitStatus,
27-
ParallelAnalyze, ProjectDocs, ProjectMetadataTool, Workspace,
26+
CodeSearch, FileRead, GitChangedFiles, GitDiff, GitLog, GitRepoInfo, GitStatus,
27+
ParallelAnalyze, ProjectDocs, Workspace,
2828
};
2929
// Added to ensure builder extension methods like `.max_tokens` are in scope
3030

@@ -417,10 +417,8 @@ Guidelines:
417417
.tool(DebugTool::new(GitDiff))
418418
.tool(DebugTool::new(GitLog))
419419
.tool(DebugTool::new(GitChangedFiles))
420-
.tool(DebugTool::new(FileAnalyzer))
421420
.tool(DebugTool::new(FileRead))
422421
.tool(DebugTool::new(CodeSearch))
423-
.tool(DebugTool::new(ProjectMetadataTool))
424422
.tool(DebugTool::new(ProjectDocs))
425423
.build();
426424

@@ -434,10 +432,8 @@ Guidelines:
434432
.tool(DebugTool::new(GitRepoInfo))
435433
.tool(DebugTool::new(GitChangedFiles))
436434
// Analysis and search tools
437-
.tool(DebugTool::new(FileAnalyzer))
438435
.tool(DebugTool::new(FileRead))
439436
.tool(DebugTool::new(CodeSearch))
440-
.tool(DebugTool::new(ProjectMetadataTool))
441437
.tool(DebugTool::new(ProjectDocs))
442438
// Workspace for Iris's notes and task management
443439
.tool(DebugTool::new(Workspace::new()))

0 commit comments

Comments
 (0)