control-human-file: exit 0; ℹ tests 7 ℹ pass 7 ℹ fail 0 
control-project-files: exit 0; ℹ tests 8 ℹ pass 8 ℹ fail 0 
control-project-file: exit 0; ℹ tests 10 ℹ pass 10 ℹ fail 0 
control-markdown-preview: exit 0; ℹ tests 19 ℹ pass 19 ℹ fail 0 
control-docs-browser: exit 0; ℹ tests 1 ℹ pass 1 ℹ fail 0 
p1-no-stale-guard: exit 1; ℹ tests 7 ℹ pass 6 ℹ fail 1 
  failed: ✖ a stale base refuses and writes nothing, whoever made the newer commit
  failed: ✖ failing tests:
p2-any-path: exit 1; ℹ tests 7 ℹ pass 5 ℹ fail 2 
  failed: ✖ failing tests:
  failed: ✖ only the spec and existing docs files are writable
  failed: ✖ the file list names the spec and Markdown directly under docs, as committed at HEAD
p3-author-not-the-human: exit 1; ℹ tests 7 ℹ pass 6 ℹ fail 1 
  failed: ✖ a save writes the typed text as one commit by the business human and touches nothing else
  failed: ✖ failing tests:
p4-creates-missing-file: exit 1; ℹ tests 7 ℹ pass 6 ℹ fail 1 
  failed: ✖ failing tests:
  failed: ✖ only the spec and existing docs files are writable
p5-no-content-check: exit 1; ℹ tests 7 ℹ pass 6 ℹ fail 1 
  failed: ✖ content and base are checked before anything is written
  failed: ✖ failing tests:
b1-agent-may-save: exit 1; ℹ tests 8 ℹ pass 7 ℹ fail 1 
  failed: ✖ an agent and a reader refuse every file verb and nothing is written
  failed: ✖ failing tests:
b2-save-keys-not-strict: exit 1; ℹ tests 8 ℹ pass 7 ℹ fail 1 
  failed: ✖ failing tests:
  failed: ✖ paths outside the spec and docs refuse, as do unknown projects, missing files and odd arguments
w1-no-origin-check: exit 1; ℹ tests 10 ℹ pass 9 ℹ fail 1 
  failed: ✖ a save needs send, the named Host, the user, the exact Origin and same-origin Fetch Metadata
  failed: ✖ failing tests:
w2-no-fetch-metadata: exit 1; ℹ tests 10 ℹ pass 9 ℹ fail 1 
  failed: ✖ a save needs send, the named Host, the user, the exact Origin and same-origin Fetch Metadata
  failed: ✖ failing tests:
w3-extra-keys-allowed: exit 1; ℹ tests 10 ℹ pass 9 ℹ fail 1 
  failed: ✖ a save validates JSON, strict keys, text values and the 1 MiB body before the bus is asked
  failed: ✖ failing tests:
w4-stale-looks-unknown: exit 1; ℹ tests 10 ℹ pass 9 ℹ fail 1 
  failed: ✖ a bus refusal is reported as not saved with its own status; stale-base tells the user to reload
  failed: ✖ failing tests:
w5-answer-path-unchecked: exit 1; ℹ tests 10 ℹ pass 9 ℹ fail 1 
  failed: ✖ a save whose answer is lost or unusable is reported unknown and is never retried
  failed: ✖ failing tests:
v1-sink-in-preview: exit 1; ℹ tests 19 ℹ pass 18 ℹ fail 1 
  failed: ✖ failing tests:
  failed: ✖ the preview source names none of the four string-to-markup sinks
v2-any-scheme-links: exit 1; ℹ tests 19 ℹ pass 17 ℹ fail 2 
  failed: ✖ a link with any other scheme, or an evasion of the scheme, stays source text
  failed: ✖ a normal 200 KiB document renders exactly as it did without a budget, and spends little of it
  failed: ✖ failing tests:
v3-protocol-relative-links: exit 1; ℹ tests 19 ℹ pass 18 ℹ fail 1 
  failed: ✖ a link with any other scheme, or an evasion of the scheme, stays source text
  failed: ✖ failing tests:
v4-no-rel: exit 1; ℹ tests 19 ℹ pass 17 ℹ fail 2 
  failed: ✖ a link is made for http, https and relative targets, with rel and the target shown
  failed: ✖ a normal 200 KiB document renders exactly as it did without a budget, and spends little of it
  failed: ✖ failing tests:
v5-evasion-class-skipped: exit 1; ℹ tests 19 ℹ pass 17 ℹ fail 2 
  failed: ✖ a link with any other scheme, or an evasion of the scheme, stays source text
  failed: ✖ a normal 200 KiB document renders exactly as it did without a budget, and spends little of it
  failed: ✖ failing tests:
v6-scheme-links-in-browser: exit 1; ℹ tests 1 ℹ pass 0 ℹ fail 1 
  failed: ✖ failing tests:
  failed: ✖ the editor: the list, hostile markdown that runs nothing, the draft, and each save receipt
v7-unbounded-scan: exit 1; ℹ tests 19 ℹ pass 18 ℹ fail 1 
  failed: ✖ a link opener with no closer searches at most SPAN characters ahead
  failed: ✖ failing tests:
v8-no-budget-check: exit 1; ℹ tests 19 ℹ pass 16 ℹ fail 3 
  failed: ✖ failing tests:
  failed: ✖ hostile and pathological input stays within its look-ahead budget and under the nesting cap
  failed: ✖ past the budget an opener is source text, through the path all other text takes
  failed: ✖ the look-ahead work of one render is a fixed multiple of the text, whatever the opener
v9-budget-never-spent: exit 1; ℹ tests 19 ℹ pass 18 ℹ fail 1 
  failed: ✖ failing tests:
  failed: ✖ the look-ahead work of one render is a fixed multiple of the text, whatever the opener
v10-budget-multiplier: exit 1; ℹ tests 19 ℹ pass 16 ℹ fail 3 
  failed: ✖ a normal 200 KiB document renders exactly as it did without a budget, and spends little of it
  failed: ✖ failing tests:
  failed: ✖ past the budget an opener is source text, through the path all other text takes
  failed: ✖ the look-ahead work of one render is a fixed multiple of the text, whatever the opener
v11-code-span-scan-uncharged: exit 1; ℹ tests 19 ℹ pass 18 ℹ fail 1 
  failed: ✖ failing tests:
  failed: ✖ the look-ahead work of one render is a fixed multiple of the text, whatever the opener
v12-closer-scan-uncharged: exit 1; ℹ tests 19 ℹ pass 17 ℹ fail 2 
  failed: ✖ failing tests:
  failed: ✖ past the budget an opener is source text, through the path all other text takes
  failed: ✖ the look-ahead work of one render is a fixed multiple of the text, whatever the opener
v13-closer-unbudgeted: exit 1; ℹ tests 19 ℹ pass 16 ℹ fail 3 
  failed: ✖ failing tests:
  failed: ✖ hostile and pathological input stays within its look-ahead budget and under the nesting cap
  failed: ✖ past the budget an opener is source text, through the path all other text takes
  failed: ✖ the look-ahead work of one render is a fixed multiple of the text, whatever the opener
v14-paragraph-trim-by-regex: exit 1; ℹ tests 19 ℹ pass 18 ℹ fail 1 
  failed: ✖ failing tests:
  failed: ✖ trailing blanks and closing hashes are cut by a walk from the end, not a regex that retries inside a blank run
v15-closing-hashes-by-regex: exit 1; ℹ tests 19 ℹ pass 18 ℹ fail 1 
  failed: ✖ failing tests:
  failed: ✖ trailing blanks and closing hashes are cut by a walk from the end, not a regex that retries inside a blank run
v16-fence-without-s-flag: exit 1; ℹ tests 19 ℹ pass 18 ℹ fail 1 
  failed: ✖ a line separator inside a heading, a list item or a fence line does not end the marker line
  failed: ✖ failing tests:
v17-atx-without-s-flag: exit 1; ℹ tests 19 ℹ pass 18 ℹ fail 1 
  failed: ✖ a line separator inside a heading, a list item or a fence line does not end the marker line
  failed: ✖ failing tests:
v18-item-without-s-flag: exit 1; ℹ tests 19 ℹ pass 18 ℹ fail 1 
  failed: ✖ a line separator inside a heading, a list item or a fence line does not end the marker line
  failed: ✖ failing tests:
v19-rule-needs-one-mark: exit 1; ℹ tests 19 ℹ pass 17 ℹ fail 2 
  failed: ✖ a thematic-break line is a paragraph, every other marker line opens a list
  failed: ✖ every short line over space, tab, - * _ and a letter is a break exactly when the old regex said so
  failed: ✖ failing tests:
v20-rule-needs-two-marks: exit 1; ℹ tests 19 ℹ pass 17 ℹ fail 2 
  failed: ✖ a thematic-break line is a paragraph, every other marker line opens a list
  failed: ✖ every short line over space, tab, - * _ and a letter is a break exactly when the old regex said so
  failed: ✖ failing tests:
v21-rule-allows-four-spaces: exit 0; ℹ tests 19 ℹ pass 19 ℹ fail 0 
v22-rule-ignores-other-chars: exit 1; ℹ tests 19 ℹ pass 17 ℹ fail 2 
  failed: ✖ a thematic-break line is a paragraph, every other marker line opens a list
  failed: ✖ every short line over space, tab, - * _ and a letter is a break exactly when the old regex said so
  failed: ✖ failing tests:
v23-rule-mixes-marks: exit 1; ℹ tests 19 ℹ pass 17 ℹ fail 2 
  failed: ✖ a thematic-break line is a paragraph, every other marker line opens a list
  failed: ✖ every short line over space, tab, - * _ and a letter is a break exactly when the old regex said so
  failed: ✖ failing tests:
v24-rule-refuses-tabs: exit 1; ℹ tests 19 ℹ pass 16 ℹ fail 3 
  failed: ✖ a thematic-break line is a paragraph, every other marker line opens a list
  failed: ✖ every short line over space, tab, - * _ and a letter is a break exactly when the old regex said so
  failed: ✖ failing tests:
  failed: ✖ one line of marks does not throw, at 4 MiB, whatever the mark or the spacing
v25-rule-back-to-regex: exit 1; ℹ tests 19 ℹ pass 18 ℹ fail 1 
  failed: ✖ failing tests:
  failed: ✖ one line of marks does not throw, at 4 MiB, whatever the mark or the spacing
e1-preview-by-markup: exit 1; ℹ tests 1 ℹ pass 0 ℹ fail 1 
  failed: ✖ failing tests:
  failed: ✖ the editor: the list, hostile markdown that runs nothing, the draft, and each save receipt
e2-wrong-base: exit 1; ℹ tests 1 ℹ pass 0 ℹ fail 1 
  failed: ✖ failing tests:
  failed: ✖ the editor: the list, hostile markdown that runs nothing, the draft, and each save receipt
e3-base-does-not-move: exit 1; ℹ tests 1 ℹ pass 0 ℹ fail 1 
  failed: ✖ failing tests:
  failed: ✖ the editor: the list, hostile markdown that runs nothing, the draft, and each save receipt
e4-unchanged-is-savable: exit 1; ℹ tests 1 ℹ pass 0 ℹ fail 1 
  failed: ✖ failing tests:
  failed: ✖ the editor: the list, hostile markdown that runs nothing, the draft, and each save receipt
e5-refusal-drops-draft: exit 1; ℹ tests 1 ℹ pass 0 ℹ fail 1 
  failed: ✖ failing tests:
  failed: ✖ the editor: the list, hostile markdown that runs nothing, the draft, and each save receipt
e6-preview-throw-uncaught: exit 1; ℹ tests 1 ℹ pass 0 ℹ fail 1 
  failed: ✖ failing tests:
  failed: ✖ the editor: the list, hostile markdown that runs nothing, the draft, and each save receipt
e7-saving-not-reset-on-throw: exit 1; ℹ tests 1 ℹ pass 0 ℹ fail 1 
  failed: ✖ failing tests:
  failed: ✖ the editor: the list, hostile markdown that runs nothing, the draft, and each save receipt
mutants finished
rc=0
