# Contract fixtures `contract/` contains reviewed Django observations for the named cases in `harness/contract.go`. Each observation includes the request, status, relevant headers, response, and database state after restoring the small fixture. To load database rows for local use, follow the fixture commands in [the main README](../README.md#fixture-data). The JSON files here are recorded HTTP expectations, not database imports. Regeneration is explicit and must target the original Django logic. First run `bin/build` and `bin/reference setup` from the repository root, then keep `bin/reference serve` running in another terminal. The Python reference requires Python 3.14 and uv. From the repository root: ```sh cd harness ./harness capture --db 'dbname=assignment_harness_django' --url http://127.0.0.1:18000 ./harness verify --db 'dbname=assignment_harness_django' --url http://127.0.0.1:18000 ``` Review capture diffs. Never regenerate from the Go candidate to resolve a failure. The two Go modules are independent; the harness uses only HTTP and PostgreSQL. The three `go-service/compat_errors/*.txt` assets are mechanically exported representations of Django's debug failures. They are deliberately emulated legacy responses, not actual Go stack traces. Stable trace contents remain in scope by the agreed compatibility policy. These assets are coupled to the locked reference framework versions and must be recaptured/reviewed if those change. Production mode suppresses them and returns generic JSON errors. The full synthetic fixture generator is a separate workload. Its fixed PRNG seed, fixed UTC time anchor, and ordered link insertion reproduce identical data in both target databases. It has 1,000 users, 50 tags, 100,000 posts, 500,000 comments, and 243,116 post/tag associations. It does not claim to reproduce Faker's exact output.