Documentation
¶
Overview ¶
Command gosim replays `bench/lanelab`'s three scenarios against the SHIPPED lane router and prints the ship gate.
── WHY THERE IS A SECOND SIMULATOR ─────────────────────────────────────────
`bench/lanelab/sim.py` is a reference model: it re-implements the design in Python, it is quick to change, and it found five of the seven corrections in docs/design/routing/provider-routing.md Part III. But a second implementation agreeing with the first is not evidence about the build. So this program drives the REAL registry — `lane.Default()`'s real ledger primed from the same sheet fixture, the real chooser, the real watch, the real budget — against `internal/lane/lanestub`, over the same three scenarios, the same eight seeds, and the same objective. THE SHIP DECISION IS TAKEN HERE (docs/design/routing/provider-routing.md, Part III, C6); the Python table is the bug report when the two disagree.
It is a main package under bench/, so none of it is in the shipped binary.
go run ./bench/lanelab/gosim the committed run go run ./bench/lanelab/gosim -requests 200 a quick one go run ./bench/lanelab/gosim -json out.json same, plus the raw table go run ./bench/lanelab/gosim -scenario talk -policy belief+hedge