481ac241a8
- Graph gains build_avoiding(): drop segments whose endpoint ident or airway is in an avoid set. plan_route_conn_avoiding / plan_route_best_avoiding thread it through (also from SID/STAR conns). - New PROF204 repair: parse "TRAFFIC VIA <pts> IS ON FORBIDDEN ROUTE", exclude the cited enroute points (never airports), re-plan around them. Runs first (a hard "cannot use" beats splice/level moves) and the avoid set accumulates across iterations. Other re-plans are now avoid-aware. - Repair loop tolerates MAX_STALL non-improving steps before reverting, so it can cross a valley where excluding one forbidden point forces a temporarily worse route en route to a fix. best-so-far still guards the result: this can only find an equal-or-better route, never a worse one. LSZH-LFBZ: 13 -> 2 errors (FRA-border problem gone; remainder is one Annex-2B-forbidden Swiss departure segment needing real SID modelling). LFRS-LFST / LFRN-LFMN / LSGG-LFPO still pass, 0 iterations. 49 tests green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>