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 9 ℹ pass 9 ℹ fail 0 
control-markdown-preview: exit 0; ℹ tests 10 ℹ pass 10 ℹ 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 9 ℹ pass 8 ℹ 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 9 ℹ pass 8 ℹ 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 9 ℹ pass 8 ℹ 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 9 ℹ pass 8 ℹ 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 9 ℹ pass 8 ℹ 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 10 ℹ pass 9 ℹ 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 10 ℹ pass 9 ℹ fail 1 
  failed: ✖ a link with any other scheme, or an evasion of the scheme, stays source text
  failed: ✖ failing tests:
v3-protocol-relative-links: exit 1; ℹ tests 10 ℹ pass 9 ℹ 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 10 ℹ pass 9 ℹ fail 1 
  failed: ✖ a link is made for http, https and relative targets, with rel and the target shown
  failed: ✖ failing tests:
v5-evasion-class-skipped: exit 1; ℹ tests 10 ℹ pass 9 ℹ fail 1 
  failed: ✖ a link with any other scheme, or an evasion of the scheme, stays source text
  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
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
mutants finished
rc=0
