Artifact 3e3c12bbbf5cd024d3e0c9cde121a495f81c4f90297ec7e676be6334658231eb:
- File
fixtures/README.md
— part of check-in
[b9d8e3692c]
at
2026-08-14 20:40:45
on branch trunk
— semdiff core + fixture corpus tooling
Canonical DOM/JSON/timestamp diff (0001 §11); synthetic fixture via fossil serve-and-clone; make fixtures / fixtures-real. (user: dmestas, size: 1170) [annotate] [blame] [check-ins using]
# fixtures — the disposability corpus Fixture stores for the 0001 §11 disposability test: ingest fully → snapshot every rendered surface → wipe the data directory → re-ingest → semantically diff (`internal/semdiff`). Any semantic diff fails the build. ## Corpus | Fixture | Source | Built by | |---|---|---| | `out/synthetic` | Generated: wiki/ticket/branch-heavy by design | `build-synthetic.sh` (CI path, seconds) | | `out/sqlite` | https://www.sqlite.org/src | `build-real.sh` (opt-in, large) | | `out/tcl` | https://core.tcl-lang.org/tcl | `build-real.sh` (opt-in, large) | Conversion goes through fossil serve + `zit clone` (synthetic) or a direct `zit clone` of the public fossil servers (real) — the serve-and-clone path 0003 §6 prescribes until zit's bare-`.fossil` reader lands. The synthetic fixture still lacks forum posts and chat: fossil has no CLI write path for either. They join when quarry can author them via its own ingest. The wipe→re-ingest harness loop itself lands with the first rendered page. `out/` is generated and untracked. zit has no ignore globs yet (zit#64): never run `zit addremove` here — add files explicitly.