Skip to content

Developers

MuchAdo is a Python host around upstream editors. Most of the interesting work is in the seams: what the editor expects from a desktop host, how the payload is built, and how our changes to upstream are kept reviewable.

Getting the source

git clone https://github.com/abilian/muchado
cd muchado
uv sync

Point the application at a payload you have built, and run it:

export MUCHADO_PAYLOAD=/path/to/build/out/payload
uv run muchado words ~/Documents/note.docx

Running the checks

uv run pytest            # unit tests
sh poc/run.sh check      # the regression harness

The harness is the important one. It serves the payload, loads Words in headless Chromium, and checks that a real document actually renders — by photographing the editor's own canvas from inside the page and measuring ink on it. It exists because every cheaper check we tried passed while the editor was visibly broken.

The lesson it encodes is worth stating on its own: assert on content, never on exit codes. A converter that writes an empty file exits zero. A browser that quits early exits zero. A PDF with no glyphs in it is the right size.