Byte-for-byte identity of stdout between A (vn.py 4.5.0 brute-force optimizer), B (vnpy-sweep-port),
B2 (vnpy-sweep-port-shared) and C (vnpy-sweep-takt). One line per case: data set, grid, result, parameter
sets, SHA-256 prefix of the common output (10 lines). Data: tools/gen_data.py <dir> <shape> <seed> <bars>.
Grid: fast_lo fast_hi fast_step slow_lo slow_hi slow_step. The second grid includes window 100 and
fast == slow (both never trade in vn.py) and fast > slow.

shape 0 (random walk                 ) seed 21  10k bars  grid [2 100 7 2 100 7 ]  IDENTICAL  sets  225  sha256 25f340a3849310b5
shape 0 (random walk                 ) seed 21  10k bars  grid [2 64 1 10 99 3  ]  IDENTICAL  sets 1890  sha256 805e1a910d3166d2
shape 0 (random walk                 ) seed 21  10k bars  grid [5 50 5 10 60 10 ]  IDENTICAL  sets   60  sha256 a2f3c6651e36fa27
shape 3 (gappy                       ) seed 23  10k bars  grid [2 100 7 2 100 7 ]  IDENTICAL  sets  225  sha256 663bae8f513582ab
shape 3 (gappy                       ) seed 23  10k bars  grid [2 64 1 10 99 3  ]  IDENTICAL  sets 1890  sha256 4eb610f6ce9c629c
shape 3 (gappy                       ) seed 23  10k bars  grid [5 50 5 10 60 10 ]  IDENTICAL  sets   60  sha256 b7730ab64f808d17
shape 4 (quiet (many equal prices)  ) seed 22  10k bars  grid [2 100 7 2 100 7 ]  IDENTICAL  sets  225  sha256 c202252a55e49a68
shape 4 (quiet (many equal prices)  ) seed 22  10k bars  grid [2 64 1 10 99 3  ]  IDENTICAL  sets 1890  sha256 4badff3f0fe23e4e
shape 4 (quiet (many equal prices)  ) seed 22  10k bars  grid [5 50 5 10 60 10 ]  IDENTICAL  sets   60  sha256 be686af5ab87f968
shape 0 (random walk                 ) seed 11  30k bars  grid [2 31 1 20 96 4  ]  IDENTICAL  sets  600  sha256 d4817fbd3cf4a44b
shape 0 (random walk                 ) seed 12  30k bars  grid [2 31 1 20 96 4  ]  IDENTICAL  sets  600  sha256 90e52db00e520c13
shape 0 (random walk                 ) seed 13  30k bars  grid [2 31 1 20 96 4  ]  IDENTICAL  sets  600  sha256 c5e54e0da988f894
shape 1 (trending regimes            ) seed 11  30k bars  grid [2 31 1 20 96 4  ]  IDENTICAL  sets  600  sha256 d6863d0ef7006371
shape 1 (trending regimes            ) seed 12  30k bars  grid [2 31 1 20 96 4  ]  IDENTICAL  sets  600  sha256 79e22fd46e404df4
shape 1 (trending regimes            ) seed 13  30k bars  grid [2 31 1 20 96 4  ]  IDENTICAL  sets  600  sha256 cee9fb8099815e3e
shape 2 (mean-reverting              ) seed 11  30k bars  grid [2 31 1 20 96 4  ]  IDENTICAL  sets  600  sha256 a71650dea3374e13
shape 2 (mean-reverting              ) seed 12  30k bars  grid [2 31 1 20 96 4  ]  IDENTICAL  sets  600  sha256 54a9d5f580e4d003
shape 2 (mean-reverting              ) seed 13  30k bars  grid [2 31 1 20 96 4  ]  IDENTICAL  sets  600  sha256 fdb60523f734130a
shape 3 (gappy                       ) seed 11  30k bars  grid [2 31 1 20 96 4  ]  IDENTICAL  sets  600  sha256 0c956e8cf871ed14
shape 3 (gappy                       ) seed 12  30k bars  grid [2 31 1 20 96 4  ]  IDENTICAL  sets  600  sha256 16ae4037fc3ce2f3
shape 3 (gappy                       ) seed 13  30k bars  grid [2 31 1 20 96 4  ]  IDENTICAL  sets  600  sha256 bcf7ae55c63f591d
shape 4 (quiet (many equal prices)  ) seed 11  30k bars  grid [2 31 1 20 96 4  ]  IDENTICAL  sets  600  sha256 601e1a282d0b835e
shape 4 (quiet (many equal prices)  ) seed 12  30k bars  grid [2 31 1 20 96 4  ]  IDENTICAL  sets  600  sha256 9c7518fe03db9d76
shape 4 (quiet (many equal prices)  ) seed 13  30k bars  grid [2 31 1 20 96 4  ]  IDENTICAL  sets  600  sha256 a5de8efbf3f04d4e
shape 1 (trending regimes            ) seed  1    1M bars  grid [2 31 1 20 96 4  ]  IDENTICAL  sets  600  sha256 4e28d2259f2cde29   (vn.py: one run, 1240.8 s; B, B2, C: every round of results/harness_native_1m.json)

Timed runs: results/harness_main_200k.json (shape 1, seed 1, 200k bars, main grid): A, B, B2 and C printed the
same output (sha256 31e99c2d1713...) in all 10 rounds each (9 measured + 1 warm-up).
