# Interoperability

MoonVCDIFF is an original implementation based on RFC 3284. Google
open-vcdiff is used only as an external compatibility oracle; none of its
implementation source is copied into this repository.

## Pinned oracle

- Repository: <https://github.com/google/open-vcdiff>
- Tag: openvcdiff-0.8.4
- Commit: 9af10d36e691c15dceff04419b9e3a71ec5d8bec
- Local reference: D:\Code\Moonbit\references\open-vcdiff

The archived upstream uses an old Autotools/Visual Studio build. On the
Windows verification host, scripts/interop.ps1 builds a small driver against
the public VCDiffEncoder and VCDiffDecoder APIs with MinGW. The driver and all
build products stay in the external reference checkout.

## Verified directions

Using examples/source.txt and examples/target.txt:

1. MoonVCDIFF encoded 128 target bytes into a 39-byte delta.
2. open-vcdiff decoded that delta to the expected target.
3. open-vcdiff encoded the same pair into a 49-byte delta.
4. MoonVCDIFF decoded that delta to the expected target.
5. Both reconstructed files matched SHA-256
   04167C3AA6D06EE0280FF9E54D0FCCD8DB38C132C6CB8283D7053331B390925E.

The test deliberately uses standard VCDIFF output. The Google-specific
interleaved and checksum extensions are outside MoonVCDIFF 0.1.0.

