diff --git a/packages/mosaic/framework/tools/wake/manifest.txt b/packages/mosaic/framework/tools/wake/manifest.txt index 557772b6..2cc8e37f 100644 --- a/packages/mosaic/framework/tools/wake/manifest.txt +++ b/packages/mosaic/framework/tools/wake/manifest.txt @@ -465,8 +465,26 @@ # never a hand-built flat dead-letter row, which would make the # audit's correct non-conviction look exactly like the defect # under hunt (the #951 review's false-defect near-miss). +# 0.7.2 #973 three-valued grep verdicts across ALL TEN wake test suites. +# grep's exit contract is three-valued (0 match / 1 no-match / +# >=2 ERROR); every suite assertion read non-zero as "absent", +# so a grep that COULD NOT LOOK wore the colour of a verdict — +# OR-polarity sites failed falsely RED, AND-polarity sites +# (including all 19 credential canaries) failed falsely GREEN +# under load. _wake-common.sh gains has_match/count_lines +# (rc 0/1 pass through; anything else LOUDLY ABORTS the whole +# suite naming file:line + raw rc — an error is never a +# verdict), wake_assert_init (saved-fd abort loudness that +# survives call-site 2>/dev/null + a runtime pin of the +# BASH_LINENO coordinate convention against CI bash drift), +# and 261 call sites converted mechanically from a frozen +# denominator artifact. Production tools source but never call +# the helpers; suite verdict semantics on rc 0/1 are UNCHANGED. +# Evidence chain in validate-973/ (microtest C1-C11, expected/ +# static/trace set arithmetic, 21 forced-error arms, residual +# sweep with per-form plants). component=wake -version=0.7.1 +version=0.7.2 # Watch-list schema this component consumes, and the INCLUSIVE range of # schema_version values it supports. A wake-watch-list.json whose schema_version