L2 Grid Signal v2.5.5 Stability and Test Fixes#309
Conversation
…ssertions Co-authored-by: dcplatforms <10982057+dcplatforms@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit ef9f560. Configure here.
| console.warn(`🚨 [L2] DISPATCH REJECTED: L1 Safety Lock active (Global: ${localSafetyCache.global_safety}, Regional: ${localSafetyCache.regional_safety[isoRegion]}, Site: ${isSiteLocked})`); | ||
|
|
||
| // Fetch context if available for richer error response (Redis fallback) | ||
| const lockContext = (siteIdVal && isSiteSafetyLocked) ? await redisClient.get(`${SAFETY_LOCK_KEY}:site:${siteIdVal.toUpperCase()}:context`) : await redisClient.get(`${SAFETY_LOCK_KEY}:context`); |
There was a problem hiding this comment.
DER alert type missing in details
Medium Severity
After the site-lock context lookup fix, rejections for DER-driven site locks load site Redis context that stores alarm_type and reason, but the 503 payload still sets details.alert_type from details.event_type only, so DER site rejections can return an empty alert_type even when alarm metadata exists.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit ef9f560. Configure here.


Resolved critical startup-blocking duplicate declarations of siteIdVal and newSiteSafety, corrected undefined isSiteSafetyLocked ReferenceError, and synchronized test assertions and lock TTL inside services/02-grid-signal microservice, achieving 100% test suite pass rate (53/53 tests green).
PR created automatically by Jules for task 297416676816633732 started by @dcplatforms
Note
Medium Risk
Touches dispatch rejection and safety-lock TTL on the OpenADR path; behavior change is intentional (shorter DER locks, distinct rejection reason) but affects grid dispatch when sites are locked.
Overview
Fixes startup-blocking issues in L2 Grid Signal by removing duplicate
siteIdValandnewSiteSafetydeclarations and usingisSiteLocked(notisSiteSafetyLocked) when loading site-specific lock context on dispatch rejection.DER alarm site locks from
DER_ALARM_REPORTEDnow use a 900s TTL (was 1800s), matching other safety locks and tests. Integration/unit tests expectSITE_SAFETY_LOCK_ACTIVEfor site-level rejections instead ofSAFETY_VIOLATION_L1, andupdateLocalSafetyCachetests match the current Redis scan flow. The v2.5.5 weekly report doc is refreshed (test count, release notes).Reviewed by Cursor Bugbot for commit ef9f560. Configure here.