Architecture

This fixture runs independently from the main crawler stack so production deployments are not blocked by demo-site availability. Each version is a complete static snapshot that can be swapped atomically while the HTTP server keeps running.

Why the fixture is separate

The crawler application, worker, and PostgreSQL database live in the main Compose stack. The change-history fixture is defined in docker-compose.fixture.yml and bind-mounts the live/ directory from the host. Version switches replace files on disk; the container does not need a rebuild or restart.

Data flow for comparisons

When you crawl the public origin, the worker stores URLs, response metadata, and analysis results in PostgreSQL. Site change history compares consecutive completed crawls for the same monitored site. Restoring v3-restored HTML reverses the deliberate v2 differences so you can validate resolution counters.

See the documentation for version names, expected page counts, and the structured expected-changes.json manifest in the repository.