"Movist is the parity oracle, not the architecture."
Two Ways to Learn From a Rival
There are two very different things you can take from a tool you're replacing. You can copy how it's built — its internals, its structure, its choices. Or you can treat it as an oracle: a trusted source that answers "is my result correct?" without teaching you how it got there. Ashen Reel takes the second, strictly.
An oracle in testing is a reference you compare against. Movist plays the file; Ashen Reel plays the same file; you compare the outputs. When they match on a required behavior, that behavior is proven. Movist never tells Ashen Reel how to decode, render, or seek — only whether the end result lines up.
Its Internals Are Invisible and Irrelevant
You can peek at what a Mac app links against without any of its source. Point otool -L at Movist and you'll see it carries FFmpeg libraries and links AVFoundation, VideoToolbox, and CoreVideo. That's a useful fact and a trap at the same time.
Useful, because it proves Movist's output behavior is the real comparison target — it's a hardware-accelerated, color-managed native pipeline, so matching it is a meaningful bar. A trap, because it is tempting to conclude "so I should link the same frameworks and copy the same pipeline." Ashen Reel doesn't. It picks libmpv for its own reasons (Track 2) and proves the output matches empirically. The rival's parts list is not your blueprint.
When the Oracle Is Wrong for You
The oracle doesn't get the final word. Ashen Reel's architecture document explicitly outranks Movist wherever Movist's behavior conflicts with a CWK principle — data ownership, source immutability, the no-network-browser boundary. Movist happily browses SMB shares and stores credentials; Ashen Reel refuses, because that behavior crosses a boundary that matters more than parity. The oracle is a measuring stick, not a lawgiver.
And the oracle stays on the shelf. Movist and QuickTime remain installed all through migration as labeled fallbacks — because a bounded replacement earns the switch by proving itself, not by deleting the escape hatch on day one.