Skip to content

feat(scenarios): add firmware-update-failure scenario - #147

Merged
sepehr-safari merged 7 commits into
ocpp-debugkit:mainfrom
YANGCHUNHONG3000:scenario/firmware-update-failure
Jul 30, 2026
Merged

feat(scenarios): add firmware-update-failure scenario#147
sepehr-safari merged 7 commits into
ocpp-debugkit:mainfrom
YANGCHUNHONG3000:scenario/firmware-update-failure

Conversation

@YANGCHUNHONG3000

Copy link
Copy Markdown
Contributor

Summary

Add irmware-update-failure scenario - the failing counterpart to #133.
Station boots, reports firmware Downloading, then InstallFailed within minutes.

Changes

File Change
packages/toolkit/src/scenarios/scenarios/firmware-update-failure.ts New scenario file
packages/toolkit/src/scenarios/index.ts Register scenario + add to registry
packages/toolkit/src/scenarios/index.test.ts Add tests + update count to 17
README.md Update scenario count to 17
packages/toolkit/README.md Update scenario count to 17
ests/external-fixture/test.mjs Update scenario count to 17
.changeset/*.md Minor bump for @ocpp-debugkit/toolkit

Verification

  • Station ID: CS-SYNTHETIC-019
  • Expected failure: FIRMWARE_UPDATE_FAILURE
  • Trace fits within 5 minutes (no heartbeat rule interference)

@YANGCHUNHONG3000
YANGCHUNHONG3000 force-pushed the scenario/firmware-update-failure branch from d16d48c to 265b597 Compare July 29, 2026 04:54
@YANGCHUNHONG3000
YANGCHUNHONG3000 force-pushed the scenario/firmware-update-failure branch from 265b597 to 6476b8e Compare July 29, 2026 04:56
@YANGCHUNHONG3000

Copy link
Copy Markdown
Contributor Author

Apologies for submitting with a minor changeset instead of patch — just caught your message from yesterday. I've amended the commit to fix it. Thanks for the guidance, and for assigning #138 in the first place. PR should be good now.

Brings the branch current with main (0.4.3 release, contributor onboarding
docs) and resolves the branch tangle from being cut off the pre-merge
firmware-update-success branch. Drops the already-consumed changeset, keeps
only the failure scenario's additions.
@sepehr-safari

Copy link
Copy Markdown
Member

Reviewed and merging. The scenario itself is right: I ran its trace through the
detection engine and it fires FIRMWARE_UPDATE_FAILURE and nothing else, the
station ID and the five-minute window are correct, and the changeset is a patch.
Nice work, and thanks for catching the changeset size yourself.

I made two small fixes and pushed them to your branch rather than send you round
again, so your commit is untouched underneath.

  • The README feature list bumped the detection-rule count to 17 along with the
    scenario count. Those are two different numbers: a scenario is not a rule, and
    there are still 16 rules. I put that line back to 16 and left the scenario count
    at 17.
  • pnpm format on the new file, same one-line collapse as last time.

Two things for next time, both mechanical. Run pnpm format from the repo before
pushing, since the repo's Prettier config is what CI checks first. And branch new
work off main, not off a previous feature branch. This branch was cut from the
firmware-update-success branch before it merged, so it carried commits that were
already on main, which is what made it show as conflicting. I sorted that out by
syncing with main; nothing you need to do.

Going in now. That is two scenarios from you, and it takes the corpus to 17.

@sepehr-safari
sepehr-safari merged commit 8fe2185 into ocpp-debugkit:main Jul 30, 2026
2 checks passed
sepehr-safari added a commit that referenced this pull request Jul 30, 2026
Keeps the living document current after the 0.4.4 release and today's pipeline
work, which reached main through the changesets release PR and issue-only
activity, neither of which touches this file.

Records 0.4.4 (firmware-update-failure, Issue #138, PR #147) and moves the
package status table to 0.4.4.

Updates the external contribution pipeline: the third good-first-issue completing
(#138, the same contributor's second, shipped in 0.4.4), the #140 invariant
landing in PR #148, the third external contributor arriving and taking #137, and
the patch-not-minor convention holding on its own for 0.4.4. Adds current rule
coverage: two of sixteen rules still lack a scenario, and the corpus arithmetic to
the v1.0 target now reads 17 plus #108, #137 and #139.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants