fix(simulation): PR #202 review round — spill cell always wired + golden truth

Hoshe finding 1 (live-firing on GJ1c: 2 spill collisions + 1 i==1
collision among 51 Overflow basins): adjacency adjudicated
INSUFFICIENT for the cue — a course's visible anchor is its upstream
cell, so nothing pre-existing belongs to the lake unless wired. The
spill cell (outlet_path[0]) now always gets a real entry: appended
when new, OVERWRITTEN IN PLACE when it collided with an existing river
cell (append would duplicate edge_id; the hydrology solve is the more
authoritative downstream answer for that cell than flat D8
extraction). Interior stop-on-collision stays, now provably safe.
Internal lookup is a dense Vec<Option<usize>>, never iterated (D-010).
Two non-vacuous regression tests prove the cue through build_edges
output; end-to-end on GJ1c all 51 Overflow basins now build a readable
edge (was: one silently missing).

Hoshe finding 2: both doc sites now state the fallback-vs-production
split explicitly (fallback moisture 55: 51/2; production GJ1c moisture
80: 53/53 all-Overflow) — the golden's Endorheic pair is a
fallback-constant artifact, not a fact about GJ1c.

Golden re-regenerated: river_cells 143->192, position-identity diff
purely additive (zero removed, one legitimate in-place overwrite at
the spill-collision cell); attractors/basins/mouths/confluences
byte-identical. Suites: hydrology 26/26, full lib 1943, cascade_golden
1/1, window goldens + believability untouched green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-25 09:04:54 +02:00
co-authored by Claude Fable 5
parent adceb60865
commit 1d2cac9e65
4 changed files with 896 additions and 129 deletions
+512 -22
View File
@@ -8152,86 +8152,170 @@
124,
239
],
[
2,
99
],
[
1,
100
],
[
2,
137
],
[
1,
138
],
[
8,
194
],
[
7,
195
],
[
8,
204
],
[
7,
204
],
[
10,
68
],
[
10,
69
],
[
14,
29
],
[
14,
28
],
[
13,
47
],
[
14,
48
],
[
13,
172
],
[
14,
173
],
[
18,
179
],
[
19,
180
],
[
24,
152
],
[
25,
152
],
[
20,
165
],
[
21,
166
],
[
16,
199
],
[
17,
200
],
[
16,
6
],
[
17,
6
],
[
19,
181
],
[
20,
181
],
[
17,
45
],
[
16,
46
],
[
17,
92
],
[
17,
93
],
[
17,
126
],
[
17,
127
],
[
19,
223
],
[
19,
224
],
[
22,
231
],
[
21,
232
],
[
32,
254
],
[
33,
255
],
[
26,
103
],
[
27,
104
@@ -8240,114 +8324,226 @@
29,
15
],
[
30,
61
],
[
31,
61
],
[
27,
237
],
[
27,
236
],
[
29,
138
],
[
30,
138
],
[
31,
9
],
[
31,
10
],
[
34,
137
],
[
34,
136
],
[
34,
156
],
[
35,
155
],
[
37,
73
],
[
37,
72
],
[
39,
64
],
[
39,
63
],
[
40,
235
],
[
41,
235
],
[
45,
123
],
[
44,
122
],
[
52,
241
],
[
51,
242
],
[
51,
0
],
[
52,
1
],
[
51,
109
],
[
50,
108
],
[
56,
40
],
[
57,
41
],
[
57,
63
],
[
56,
64
],
[
58,
215
],
[
57,
216
],
[
62,
43
],
[
62,
42
],
[
70,
233
],
[
70,
232
],
[
74,
228
],
[
74,
229
],
[
74,
230
],
[
74,
231
],
[
91,
214
],
[
92,
213
],
[
88,
37
],
[
88,
38
],
[
97,
89
],
[
96,
88
],
[
101,
215
],
[
101,
214
],
[
115,
40
],
[
114,
41
],
[
115,
60
],
[
115,
59
],
[
116,
220
],
[
117,
221
],
[
124,
25
],
[
124,
24
@@ -8408,7 +8604,7 @@
0,
1,
0,
2,
0,
1,
0,
1,
@@ -8496,6 +8692,55 @@
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"river_downstream": [
@@ -8553,7 +8798,7 @@
4,
9,
7,
9,
6,
3,
3,
9,
@@ -8592,55 +8837,104 @@
9,
2,
8,
4,
9,
4,
9,
4,
9,
0,
9,
2,
9,
3,
9,
6,
9,
6,
9,
6,
9,
1,
9,
6,
9,
6,
9,
1,
9,
1,
9,
4,
9,
2,
9,
2,
9,
2,
9,
4,
9,
6,
9,
6,
9,
9,
1,
9,
3,
9,
1,
9,
2,
9,
3,
9,
7,
9,
3,
9,
3,
9,
1,
9,
5,
9,
4,
9,
6,
9,
5,
9,
6,
9,
4,
9,
4,
9,
3,
9,
3,
9,
2,
9,
2,
9,
7,
9,
2,
9,
5,
9,
3,
9,
4,
9,
3,
9,
6,
9,
9,
9,
9,
9,
9,
9,
9,
9,
9,
9,
9,
9,
9,
9,
9,
9,
9,
9,
9,
9,
3,
9
],
"river_seaward": [
@@ -9212,6 +9506,202 @@
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0
],
[
0,
0