fix(manifest): use JSON file pattern during discovery - #305
Conversation
|
Warning Review limit reached
Next review available in: 8 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
| { | ||
| logger.LogInformation("Scanning directory for manifests: {Directory}", directory); | ||
| var manifestFiles = Directory.EnumerateFiles(directory, "FileTypes.JsonFilePattern", SearchOption.AllDirectories); | ||
| var manifestFiles = Directory.EnumerateFiles(directory, FileTypes.JsonFilePattern, SearchOption.AllDirectories); |
There was a problem hiding this comment.
Recursive enumeration aborts discovery
When a configured content directory contains an inaccessible or concurrently removed descendant, recursive enumeration throws outside the per-file exception handler, causing content discovery to fail or manifest initialization to abort instead of returning accessible manifests.
Prompt To Fix With AI
This is a comment left during a code review.
Path: GenHub/GenHub/Features/Manifest/ManifestDiscoveryService.cs
Line: 64
Comment:
**Recursive enumeration aborts discovery**
When a configured content directory contains an inaccessible or concurrently removed descendant, recursive enumeration throws outside the per-file exception handler, causing content discovery to fail or manifest initialization to abort instead of returning accessible manifests.
How can I resolve this? If you propose a fix, please make it concise.
Code Review SummaryStatus: 1 Issue Found | Recommendation: Address before merge Overview
Issue Details (click to expand)CRITICAL
Files Reviewed (2 files)
Fix these issues in Kilo Cloud Reviewed by glm-4.7 · Input: 43.2K · Output: 5.7K · Cached: 462K |
Summary
Fix manifest discovery to use the configured JSON filename pattern instead of a literal identifier, restoring recursive filesystem discovery.
Add coverage for nested manifests, non-JSON files, and malformed JSON.
Testing
Closes #302
Greptile Summary
Fixes filesystem manifest discovery by recursively matching JSON filenames instead of a literal pattern.
Confidence Score: 3/5
The recursive discovery failure should be handled before merging because one inaccessible descendant can abort content discovery or manifest initialization.
The corrected pattern activates recursive traversal of user-configurable directories, but enumeration exceptions occur outside the existing recovery boundary and prevent accessible manifests from being discovered.
Files Needing Attention: GenHub/GenHub/Features/Manifest/ManifestDiscoveryService.cs
Important Files Changed
Prompt To Fix All With AI
Reviews (1): Last reviewed commit: "fix(manifest): use JSON file pattern dur..." | Re-trigger Greptile