1515// - For Write: compares against current contents (absent file = empty
1616// exclude array).
1717//
18- // Bypass: `Allow minimumReleaseAge bypass` typed verbatim in a recent user
19- // turn — for emergency CVE patches where a legitimately-published-yesterday
20- // fix must be installed before the 7-day window closes.
18+ // Bypass: `Allow soak-time bypass` (alias: `Allow minimumReleaseAge bypass`)
19+ // typed verbatim in a recent user turn — for emergency CVE patches where a
20+ // legitimately-published-yesterday fix must be installed before the 7-day
21+ // window closes. The matcher folds hyphens to spaces, so `soak-time` and
22+ // `soak time` both match the same phrase.
2123//
2224// Fails open on parse errors (better to under-block than to brick edits
2325// when the file isn't parseable YAML).
@@ -33,7 +35,13 @@ import { bypassPhrasePresent } from '../_shared/transcript.mts'
3335
3436const logger = getDefaultLogger ( )
3537
36- const BYPASS_PHRASE = 'Allow minimumReleaseAge bypass'
38+ // `soak-time` is the canonical phrase; `minimumReleaseAge` is kept as an alias
39+ // so older transcripts / muscle memory still authorize the bypass. Both fold
40+ // through normalizeBypassText, so spacing/hyphen variants of each also match.
41+ const BYPASS_PHRASES = [
42+ 'Allow soak-time bypass' ,
43+ 'Allow minimumReleaseAge bypass' ,
44+ ]
3745
3846// Permissive YAML extraction tailored to the `minimumReleaseAge.exclude`
3947// block. We don't pull in a full YAML library — the block shape is narrow:
@@ -148,7 +156,7 @@ await withEditGuard((filePath, content, payload) => {
148156
149157 if (
150158 payload . transcript_path &&
151- bypassPhrasePresent ( payload . transcript_path , BYPASS_PHRASE )
159+ bypassPhrasePresent ( payload . transcript_path , BYPASS_PHRASES )
152160 ) {
153161 return
154162 }
@@ -175,7 +183,7 @@ await withEditGuard((filePath, content, payload) => {
175183 ' node scripts/soak-bypass.mts <pkg>@<version>' ,
176184 ' (the daily updating-daily job removes the entry once its soak clears).' ,
177185 '' ,
178- ` Bypass (to hand-edit anyway): type "${ BYPASS_PHRASE } " in a new message, then retry.` ,
186+ ` Bypass (to hand-edit anyway): type "${ BYPASS_PHRASES [ 0 ] } " in a new message, then retry.` ,
179187 '' ,
180188 ] . join ( '\n' ) ,
181189 )
0 commit comments