Repository navigation
Add a new scenario: repeated-boot-notification #139
Description
Activity
- addedtype:featureNew feature or enhancementNew feature or enhancementgood-first-issueGood for newcomersGood for newcomershelp-wantedExtra attention is neededExtra attention is needed
on Jul 26, 2026 - added a commit that references this issue
on Jul 28, 2026 can i work on this?
- added a commit that references this issue
on Jul 30, 2026 Thanks for the interest in this one too. I assign good first issues one at a time,
so let us land #137 first, then this one is yours next if you want it. That keeps
an issue from sitting claimed while another is in review, so other newcomers can
see what is actually free. It is held, nobody else will be given it in the
meantime.- added a commit that references this issue
on Jul 30, 2026 #137 has landed, so this one is yours as promised. Assigning it now.
Thanks again for the heartbeat-timeout scenario, and sorry it sat waiting on my
approval for three days at the end. Your pushes will not hit that gate again now
that a pull request of yours has merged.This one follows the same shape you have already done once. The issue body has the
full trace with timestamps, andCS-SYNTHETIC-020is reserved for you and still
free. Two things carried over from last time so they do not bite again: the
changeset ispatch, not minor, and please branch off currentmain, which now
includes your merged scenario.Say the word if you would rather take something else instead.
- added a commit that references this issue
on Aug 10, 2026 - added a commit that references this issue
on Aug 20, 2026
Good First Issue
Add a new scenario
repeated-boot-notification. TheREPEATED_BOOT_NOTIFICATIONrule shipped in #114 without a scenario, so it isthe one rule in the corpus with no trace exercising it.
What to do
packages/toolkit/src/scenarios/__scenarios__/repeated-boot-notification.tsBootNotificationat2026-01-15T08:00:00.000Z, and itsCallResultwithinterval: 300BootNotificationat08:01:00.000Z, and itsCallResultBootNotificationat08:02:00.000Z, and itsCallResultHeartbeatat08:03:00.000Z, and itsCallResultexpectedFailures: ['REPEATED_BOOT_NOTIFICATION']{ type: 'event_count', params: { action: 'BootNotification', min: 3 } }packages/toolkit/src/scenarios/index.tspnpm changeset, and pick patch. Scenario additionsare patch releases, see
Adding a Scenario.
What makes the rule fire
The rule groups
BootNotificationcalls into a five minute window and reportswhen two or more land inside one. Three boots one minute apart sit comfortably
inside that window and read as a genuine reboot loop rather than a borderline
case. Use distinct
messageIdvalues for each boot and its matching response.Files to modify
packages/toolkit/src/scenarios/__scenarios__/repeated-boot-notification.ts(new)packages/toolkit/src/scenarios/index.ts(register, and add toscenarioNames)packages/toolkit/src/scenarios/index.test.ts(count, name order,getScenario)tests/external-fixture/test.mjs(count)README.md(count)packages/toolkit/README.md(count).changeset/(new changeset file)Guidelines
CS-SYNTHETIC-020, so please use that one.unresponsive-csms.tsis agood short example.
ocpp-debugkit scenario run repeated-boot-notificationthatREPEATED_BOOT_NOTIFICATIONis the only failure reported. If another rulefires, adjust the trace rather than adding the extra code to
expectedFailures.Verify Locally.
ocpp-debugkit cicovers neither formatting nor lint nor types, and CI stops atthe first failure.
use the number it reports rather than assuming.
How to claim
Comment "I'd like to work on this" and it will be assigned to you.
Please hold one open claim at a time. Once the pull request for it is merged,
say which issue you want next and it will be assigned. That keeps issues from
sitting claimed while another is still in review, so other newcomers can see
what is genuinely free.