D102 — Portfolio search state saved and resumable¶
Decision¶
Portfolio runs save their search state: --state-out F writes the best routes (per connection, keyed by pad pair) after every round, atomically; --state-in F starts from them (warm start, seeds continue the sequence); bench/run.py always passes --state-out <board>.state and --resume-run NAME resumes from an earlier run
Alternatives¶
Keep only the final KiCad output (not resumable: connections cannot be recovered from copper)
Reason¶
Runs of 3 h per board that end open should be continuable later; a crash or kill loses at most one round. Test: saved state in tests/test_txn.cpp