fix(psi-pro): correct two invalid psi.mode examples + test every example - #5
Conversation
The examples-round-trip test only exercised examples[0], hiding that psi.mode's other two examples referenced enum codes not in psi.mode: 5T03 (code is '3', not '03') and 0T6 (no code '6' at all). Both failed to parse back to a structured step. - Fix data: 5T03 -> 5T3 (Rear, Slow Flash); 0T6 -> 0T1 (All, Reset). Both valid. - Strengthen the round-trip test to exercise EVERY example, not just the first — this is what would have caught it (and the negative-int bug) in CI. - Bump libraryVersion 2.2.0 -> 2.2.1 (manifest + releases.json in sync) and the version assertions in the tests. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ReviewChecks — all green.
What this PR does. Pure data fix in Board-contribution rules — all satisfied:
Safety-class check: Nice catch, worth calling out: the real value-add here is No issues found. LGTM from a data/process standpoint. |
Found by strengthening the examples round-trip test to check all examples, not just the first (the gap that also hid the negative-int engine bug).
psi.mode(template{address}T{mode}, both enums) had two examples referencing codes not in thepsi.modeenum:5T03— the code is3, not03→5T3(Rear, Slow Flash)0T6— there is no mode6→0T1(All, Reset — preserves the address-0 'All' demo with a valid mode)Both now round-trip to a structured, editable step. Also strengthens the round-trip test to exercise every example, and bumps
libraryVersion2.2.0 → 2.2.1 (manifest + releases.json + test assertions in sync). 137 tests pass; validator green.