Files
stack/packages
mosaic-coder a41662f033
All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
test(wake): I14 blank-reset assertion BusyBox-grep-portable (grep -z unsupported on Alpine CI) + portability sweep
#931 CI (node:24-alpine, musl/BusyBox) went RED: the I14 blank-reset assertion
used `grep -qz` (NUL-data), a GNU-only extension BusyBox grep does NOT support
(its option list is -HhnlLoqvsrRiwFE -m -A -B -C -e -f — no -z). BusyBox grep
printed usage + exited non-zero, tripping `|| fail_msg`. Passed locally only
because GNU grep has -z. Toolchain-divergence class (cf. #912, BusyBox sed).

Fix (test-only; product drop-in is correct, verify-single already proves
exactly-one): assert the blank-reset FORM portably — `grep -A1 '^OnUnitActiveSec=$'
| grep -qx 'OnUnitActiveSec=30min'` still requires the empty reset line
IMMEDIATELY followed by the value, and still catches the negative control. Also
simplified a sibling `grep -qi 'EXACTLY ONE\|exactly one'` to `grep -qi 'exactly
one'` (drop the BRE alternation; -i already covers case).

Sweep of all packages/mosaic/framework/tools/wake/test-*.sh for BusyBox-
incompatible constructs (grep -z/-P, sed \xNN/\b/-i, gawk-isms, date -d/%N):
the only #931-introduced defect was this one. Verified in the real Alpine image
(node:24-alpine, BusyBox v1.37.0): all 9 wake harnesses + full test:framework-
shell green under BusyBox with CI=woodpecker (openssl present, I8 HMAC leg runs).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0158NZqN2n2ymKFeJAZ4GUCb
2026-07-26 08:33:36 -05:00
..