Repository navigation
chore(timelock): run timelock alerts every 30 minutes - #454
Merged
Merged
Conversation
Move timelock-alerts from the hourly profile to half_hourly. Every monitored timelock now delays operations by at least 24h (Infinifi's short timelock has been back at 24h since 2026-08-16, getMinDelay = 86400), so 30 minutes keeps detection a small share of the reaction window. The cursor stays in the default cache-id.txt, so the move skips and repeats nothing; per-profile flock prevents overlapping runs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 26, 2026
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.
What
timelock-alertsmoves from thehourlyprofile tohalf_hourly(*/30 * * * *). Timelock alerts can now arrive up to 30 minutes sooner.Why it's safe
CallScheduledevents for each timelock. The only one below 24h was Infinifi's Shorttimelock, which has switched between 1h and 24h. On-chaingetMinDelay()=86400(24h) today, and it has been at 24h since 2026-08-16. The Longtimelock is 7 days. Lowering the delay again would itself have to go through the 24h timelock, so it would be alerted first. With 30 minutes, detection takes at most about 2% of a 24h window.TIMELOCK_LAST_TSstays in the defaultcache-id.txt, becausehalf_hourly, likehourly, has no cache override. The move skips and repeats nothing.flock -n, so a slow run is skipped instead of overlapped. The script has no hourly assumptions; it's cursor-based, with a 12h fallback lookback.yearn-check-indexer-freshnessstays hourly, which still covers a stalled indexer.Also
monitoring.yaml: the timelock card's cadence is now "Every 30 minutes (stale operations: daily)".Testing
tests/test_monitoring_config.pyandtests/test_automation_*.pypass (57).python -m automation render-crontabshows*/30 … run half_hourly.run half_hourly --dry-runlistslender_borrower.py --checks=ltvandtimelock_alerts.py, andrun hourly --dry-runno longer includes the timelock task.🤖 Generated with Claude Code