4e503c356 deleted the client's _chain_runs() when the join moved to the
server, but left the test that pinned it. It asserted that three end-to-end
edges chain into one river, which is now precisely what must NOT happen, so
the gdUnit4 suite went red on main. Caught by the push gate; the parse sweep
I did run cannot see a behavioural assertion.
Replaced with the two properties that actually hold now, rather than dropped:
- A river's length is measured WHOLE. One course of four collinear points,
each 1,500 m segment 5.9 px and under the 15 px floor, total 17.6 px and
over it. That is the invariant the old test was really protecting — long
rivers must not vanish because their pieces are individually small — and it
survives the move to the server.
- Separate courses meeting end-to-end are NOT rejoined. This is the deleted
chaining's headstone. Water splits a course, and D-261 is explicit that a
river crossing a lake is two visible strokes, so a client that helpfully
reconnected them would draw a line across the lake. Three touching
sub-threshold courses must all be culled; a resurrected chaining pass would
report one.
1837 tests, 0 failed.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>