Conversation
Co-authored-by: MarcCote <660004+MarcCote@users.noreply.github.com>
Yes for the nondeterminism, but not for the expected outcome. I ran this PR’s exact 8-run reproducer against both JARs: the current JAR had steam missing in 5/8 runs, while PR #85’s JAR had steam missing in 8/8 runs (and it remained water for six additional ticks). The The main side effect is global: every hash-set traversal involving |
|
@copilot Come up with a stronger fix (keep it as minimal as possible) that would be stable across Scale/JVM, then. |
Co-authored-by: MarcCote <660004+MarcCote@users.noreply.github.com>
Implemented in |
Co-authored-by: MarcCote <660004+MarcCote@users.noreply.github.com>
No— |
|
@copilot be systematic about it, and check the whole codebase. Produce a Github check list in your response. |
Co-authored-by: MarcCote <660004+MarcCote@users.noreply.github.com>
Co-authored-by: MarcCote <660004+MarcCote@users.noreply.github.com>
Addressed in
|
|
@copilot what is the speed impact of the proposed changes? |
Measured
The internal cost comes from rebuilding temporary UUID |
|
@copilot Are the tasks generated before and after the proposed changes the same for a given variation and seed? |
Semantically yes; byte-for-byte no. |
|
@copilot looking at the old code, why was the steam only produced half the time? |
It was a tick-order race, not probabilistic heat transfer:
Across resets, UUIDs were repeatable, but |
Identical
task-1-boilruns can produce different outcomes, with steam intermittently missing after the reported action sequence.scripts/reproduce_heat_transfer_stochasticity.py.