Tests for the brogue-genesis generator.

Running
-------
    make test       # goldens + 1000-seed invariant stress
    make stress     # 5000-seed invariant stress only

Files
-----
    run_tests.sh      Runs goldens against current binary, then stress.
    update_goldens.sh Regenerates goldens.txt. Run this only after an
                      intentional change to generation logic.
    goldens.txt       seed|map_sha256|summary_line, one per committed seed.

What's checked
--------------
1. Map hash stability — sha256 of the ASCII map for each committed seed.
2. Summary line stability — room/loop/lake/bridge counts and connectivity.
3. Connectivity invariant — for a rolling sweep of seeds, every passable
   cell must be 4-connected to every other. This is the load-bearing
   property of Brogue's pipeline.

When to update the goldens
--------------------------
If you intentionally change generation (new room type, tweak CA rule, change
lake sizes, adjust corridor bounds, reorder phases, etc.), the goldens will
break by design. Inspect the diff, confirm it looks right, then:

    make && test/update_goldens.sh
    make test

If the stress pass ever reports non-zero failures, a connectivity-preserving
invariant has been broken — investigate before committing.
