-
Notifications
You must be signed in to change notification settings - Fork 4
Optimize Dumpster Fire signal with time-based scanning #52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Remove Rotting Secrets signal (duplicative with Dumpster Fire). Replace arbitrary entry limits with adaptive time-budget gating: - Global 8ms time budget shared across parallel directory scans - Scans as many entries as possible within budget - Fast systems scan more, slow systems gracefully degrade - Added context check after expensive stat() syscalls Performance improvement: | Metric | Before | After | |---------------------|----------|----------| | Cold cache time | 85ms | <8ms | | ~/Downloads (716 files) | First 100 entries | All within budget | Files removed: - src/signals/rotting_secrets.go - src/signals/rotting_secrets_test.go - docs/signals/rotting_secrets.md Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #52 +/- ##
==========================================
- Coverage 81.44% 81.40% -0.04%
==========================================
Files 62 61 -1
Lines 4656 4609 -47
==========================================
- Hits 3792 3752 -40
+ Misses 672 669 -3
+ Partials 192 188 -4
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request optimizes the Dumpster Fire signal by replacing arbitrary entry limits with adaptive time-based scanning. The Rotting Secrets signal is removed as it was duplicative with Dumpster Fire.
Changes:
- Removed the Rotting Secrets signal (implementation, tests, and documentation) as it was duplicative with Dumpster Fire
- Implemented parallel directory scanning with a global 8ms time budget for the Dumpster Fire signal
- Changed default scanning configuration from hard entry limits (500 entries, 2ms per directory) to time-based gating (0 entry limit, 0 timeout - uses caller's context)
- Added responsive context checking after expensive stat() syscalls in the scanning loop
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/signals/rotting_secrets.go | Removed duplicative signal implementation |
| src/signals/rotting_secrets_test.go | Removed tests for deleted signal |
| docs/signals/rotting_secrets.md | Removed documentation for deleted signal |
| src/signals/registry.go | Removed Rotting Secrets from signal registry (count: 38 → 37) |
| SIGNALS.md | Removed Rotting Secrets entry from signals list |
| README.md | Updated security checks count from 38 to 37 |
| src/signals/internal/filestat/filestat.go | Changed defaults to support time-based gating; added context check after stat() syscall |
| src/signals/dumpster_fire.go | Implemented parallel scanning with 8ms global time budget |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Remove Rotting Secrets signal (duplicative with Dumpster Fire).
Replace arbitrary entry limits with adaptive time-budget gating:
Performance improvement:
Files removed: