Description
During a recent project setup, we encountered a blocking error during the npx openlore analyze phase:
✗ Analysis failed: Project fingerprint byte budget exceeded (1073741824)
While the budget exists to prevent the analyzer from attempting to index massive amounts of data, the current error reporting is "opaque." It informs the user that a limit has been reached but provides zero visibility into which files or directories are causing the overflow.
In our case, the budget was exceeded by several large binary files (.lance, .sqlite) located in a temporary test directory (/tmp/vecheck_data) and some documentation folders. Because the tool didn't identify the culprits, we had to spend significant time manually scanning the filesystem using PowerShell scripts to find the heavy folders and then trial-and-error adding them to excludePatterns.
The "Pain Points"
- Cryptic Error Message: An error mentioning a "byte budget" without context is confusing for a user who may not know if this is a RAM limit, a disk limit, or a software safety cap.
- Lack of Offender Listing: The tool crashes immediately upon hitting the limit. It doesn't report the top contributors to that budget.
- Doctor Tool Gap:
openlore doctor focuses on infrastructure (connectivity, versions) and doesn't detect or help resolve this kind of logical analysis failure.
- Incomplete Default Skips: Modern data store formats (like LanceDB's
.lance or .parquet) are not in the SKIP_EXTENSIONS list in file-walker.js, allowing them to enter the fingerprinting process.
Proposed Improvements
1. Explicit Error Messaging
Change the error message to be more actionable.
- Current:
Project fingerprint byte budget exceeded (1073741824)
- Proposed:
Analysis failed: The total volume of files to be indexed exceeds the safety budget of 1 GiB. Please exclude large binary data directories (e.g., vector stores, logs, datasets) in your config using excludePatterns.
2. Automatic "Culprit" Reporting
When the budget is exceeded, the analyzer should print a summary of the largest directories/files encountered before the crash.
- Suggested Output:
Budget exceeded. Top contributors to the fingerprint budget:
- /tmp/vecheck_data: 3.7 GB
- /docs/graph_vectors: 738 MB
Please add these paths to your excludePatterns.
3. Update SKIP_EXTENSIONS
Expand the default ignore list in file-walker.js to include common modern binary data formats (e.g., .lance, .parquet, .arrow, etc.) to prevent them from accidentally bloating the fingerprint.
Environment
- OpenLore version:
3.2.0
- OS: Windows
- Trigger: Running
npx openlore analyze on a repository containing local vector store data (~4.7 GB of .lance and .sqlite files).
Description
During a recent project setup, we encountered a blocking error during the
npx openlore analyzephase:✗ Analysis failed: Project fingerprint byte budget exceeded (1073741824)While the budget exists to prevent the analyzer from attempting to index massive amounts of data, the current error reporting is "opaque." It informs the user that a limit has been reached but provides zero visibility into which files or directories are causing the overflow.
In our case, the budget was exceeded by several large binary files (
.lance,.sqlite) located in a temporary test directory (/tmp/vecheck_data) and some documentation folders. Because the tool didn't identify the culprits, we had to spend significant time manually scanning the filesystem using PowerShell scripts to find the heavy folders and then trial-and-error adding them toexcludePatterns.The "Pain Points"
openlore doctorfocuses on infrastructure (connectivity, versions) and doesn't detect or help resolve this kind of logical analysis failure..lanceor.parquet) are not in theSKIP_EXTENSIONSlist infile-walker.js, allowing them to enter the fingerprinting process.Proposed Improvements
1. Explicit Error Messaging
Change the error message to be more actionable.
Project fingerprint byte budget exceeded (1073741824)Analysis failed: The total volume of files to be indexed exceeds the safety budget of 1 GiB. Please exclude large binary data directories (e.g., vector stores, logs, datasets) in your config using excludePatterns.2. Automatic "Culprit" Reporting
When the budget is exceeded, the analyzer should print a summary of the largest directories/files encountered before the crash.
Budget exceeded. Top contributors to the fingerprint budget:- /tmp/vecheck_data: 3.7 GB- /docs/graph_vectors: 738 MBPlease add these paths to your excludePatterns.3. Update
SKIP_EXTENSIONSExpand the default ignore list in
file-walker.jsto include common modern binary data formats (e.g.,.lance,.parquet,.arrow, etc.) to prevent them from accidentally bloating the fingerprint.Environment
3.2.0npx openlore analyzeon a repository containing local vector store data (~4.7 GB of.lanceand.sqlitefiles).