Skip to content

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