Unclaimed files left in the canonical checkout. Inventory: canonical-cleanup-inventory.md (commit-as-evidence groups). detect-secrets scan clean on 2026-11-02: hits are sha256 pins, git object ids, test sentinels already in tracked tests and unit-file lines.
5.3 KiB
Stack verdict for every regex in markdown-preview.js (sage-0621)
Module /mnt/storage/scratch/researcher/q148r3b/packages/webui/src/public/markdown-preview.js. Each regex is taken from the module's source text (it must occur there), then run alone on its worst shapes at 4096 KiB (4194304 characters), one process per regex and shape, timeout 60 s. A verdict is "returns" or "RangeError".
Column "quantified group or backreference" is a text test on the literal: a ) followed by *, + or {, or a \1-style backreference. A )? is a group that matches at most once and is not counted.
| line(s) | regex | quantified group or backreference | shape | verdict | ms |
|---|---|---|---|---|---|
| 20 | /[!-/:-@[-{-~]/` |
no | letters | returns | 4.2 |
| 20 | /[!-/:-@[-{-~]/` |
no | punct | returns | 0.4 |
| 24 | /^( {0,3})({3,}|~{3,})(.*)$/s` |
no | backticks | returns | 2.7 |
| 24 | /^( {0,3})({3,}|~{3,})(.*)$/s` |
no | tildes | returns | 2.5 |
| 24 | /^( {0,3})({3,}|~{3,})(.*)$/s` |
no | backticks + x | returns | 2.4 |
| 24 | /^( {0,3})({3,}|~{3,})(.*)$/s` |
no | backticks + separator | returns | 2.9 |
| 24 | /^( {0,3})({3,}|~{3,})(.*)$/s` |
no | fence + blanks | returns | 2 |
| 25 | /^ {0,3}(#{1,6})(?:[ \t]+(.*))?$/s |
no | hashes | returns | 0.4 |
| 25 | /^ {0,3}(#{1,6})(?:[ \t]+(.*))?$/s |
no | hash + blanks + x | returns | 2.8 |
| 25 | /^ {0,3}(#{1,6})(?:[ \t]+(.*))?$/s |
no | hash + blanks | returns | 3 |
| 25 | /^ {0,3}(#{1,6})(?:[ \t]+(.*))?$/s |
no | hash + blanks + separator | returns | 3.4 |
| 26 | /^ {0,3}(=+|-+)[ \t]*$/ |
no | equals | returns | 2.4 |
| 26 | /^ {0,3}(=+|-+)[ \t]*$/ |
no | dashes | returns | 2.5 |
| 26 | /^ {0,3}(=+|-+)[ \t]*$/ |
no | equals + blanks + x | returns | 4.8 |
| 26 | /^ {0,3}(=+|-+)[ \t]*$/ |
no | dash + tabs + x | returns | 4.3 |
| 41 | /^ {0,3}> ?/ |
no | quotes | returns | 0.9 |
| 41 | /^ {0,3}> ?/ |
no | quote + blanks | returns | 0.8 |
| 41 | /^ {0,3}> ?/ |
no | blanks + quote | returns | 0.8 |
| 42 | /^( {0,3})([-+*]|\d{1,9}[.)])([ \t]+|$)(.*)$/s |
no | dash + blanks | returns | 3 |
| 42 | /^( {0,3})([-+*]|\d{1,9}[.)])([ \t]+|$)(.*)$/s |
no | dash + blanks + x | returns | 3 |
| 42 | /^( {0,3})([-+*]|\d{1,9}[.)])([ \t]+|$)(.*)$/s |
no | digits + dot | returns | 0.4 |
| 42 | /^( {0,3})([-+*]|\d{1,9}[.)])([ \t]+|$)(.*)$/s |
no | dash + tabs + separator | returns | 3 |
| 42 | /^( {0,3})([-+*]|\d{1,9}[.)])([ \t]+|$)(.*)$/s |
no | dash + blanks + separator | returns | 3.5 |
| 66 | /[\u0000-\u0020\u007f-\u009f\\\u200b-\u200f\u2028-\u202e\u2066-\u2069\ufeff]/ |
no | letters | returns | 3.5 |
| 66 | /[\u0000-\u0020\u007f-\u009f\\\u200b-\u200f\u2028-\u202e\u2066-\u2069\ufeff]/ |
no | letters + separator | returns | 4.1 |
| 67 | /^[A-Za-z][A-Za-z0-9+.-]*:/ |
no | letters | returns | 5.4 |
| 67 | /^[A-Za-z][A-Za-z0-9+.-]*:/ |
no | letters + colon | returns | 3.3 |
| 67 | /^https?:\/\/[^/?#]/i |
no | h | returns | 0.8 |
| 67 | /^https?:\/\/[^/?#]/i |
no | http + letters | returns | 0.4 |
| 112 | /[ \t\n]/ |
no | letters | returns | 1.2 |
| 118 | /[\n<]/ |
no | letters | returns | 1.3 |
| 128, 162, 212 | /\s/ |
no | letters | returns | 1.2 |
| 140 | /\\([!-/:-@[-{-~])/g` |
no | escaped punct | returns | 397.1 |
| 140 | /\\([!-/:-@[-{-~])/g` |
no | backslashes | returns | 403.5 |
| 140 | /\\([!-/:-@[-{-~])/g` |
no | escaped letters | returns | 3.9 |
| 162, 212 | /[A-Za-z0-9]/ |
no | punct | returns | 3.8 |
| 162, 212 | /[A-Za-z0-9]/ |
no | letters | returns | 0.9 |
| 181 | /\n/g |
no | newlines | returns | 169.5 |
| 181 | /\n/g |
no | letters | returns | 1 |
| 234 | /^(+|~+)[ \t]*$/` |
no | backticks | returns | 2.3 |
| 234 | /^(+|~+)[ \t]*$/` |
no | backticks + blank | returns | 2 |
| 234 | /^(+|~+)[ \t]*$/` |
no | backticks + x | returns | 19.1 |
| 234 | /^(+|~+)[ \t]*$/` |
no | backtick + blanks + x | returns | 4.7 |
| 234 | /^(+|~+)[ \t]*$/` |
no | tildes + x | returns | 18.1 |
| 330 | /\r\n?/g |
no | CR | returns | 148.1 |
| 330 | /\r\n?/g |
no | CRLF | returns | 111.2 |
| 330 | /\r\n?/g |
no | letters | returns | 2.5 |
| 332 | /^[ \t]+/ |
no | blanks | returns | 2.9 |
| 332 | /^[ \t]+/ |
no | blanks + x | returns | 2.9 |
| 332 | /^[ \t]+/ |
no | tabs | returns | 2.5 |
| 332 | /^[ \t]+/ |
no | letters | returns | 0.8 |
| 332 | /\t/g |
no | tabs | returns | 176.7 |
| 332 | /\t/g |
no | letters | returns | 1 |
Control: the regex round 3 removed (it must not be in the module, and it must fail here)
| line(s) in module | regex | quantified group or backreference | shape | verdict | ms |
|---|---|---|---|---|---|
| none | /^ {0,3}([-*_])(?:[ \t]*\1){2,}[ \t]*$/ |
yes | dashes | RangeError | 19.1 |
| none | /^ {0,3}([-*_])(?:[ \t]*\1){2,}[ \t]*$/ |
yes | dashes + blank | RangeError | 18.9 |
| none | /^ {0,3}([-*_])(?:[ \t]*\1){2,}[ \t]*$/ |
yes | spaced dashes | RangeError | 20.5 |
| none | /^ {0,3}([-*_])(?:[ \t]*\1){2,}[ \t]*$/ |
yes | spaced stars | RangeError | 17.9 |
| none | /^ {0,3}([-*_])(?:[ \t]*\1){2,}[ \t]*$/ |
yes | underscores | RangeError | 19.3 |
53 regex and shape runs on the module's regexes: 0 not "returns". Regexes missing from the module's source: 0. Regexes in the module with a quantified group or backreference: 0. The removed regex is not in the module and fails 5 of 5 control shapes.
Regex literals found by a scan of the module source that are not in the table above: 0.