From 1e379f60425de3e3bad274e8e0486742fb0a3c7b Mon Sep 17 00:00:00 2001 From: Michele Bigi Date: Sun, 20 Sep 2026 08:44:26 +0200 Subject: [PATCH] Restore build_placement_plan import in the PCB pipeline. MODE=pcb classify crashed with NameError after the finding-engine import swap. --- backend/services/pcb_pipeline.py | 1 + tests/test_pcb_review.py | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/backend/services/pcb_pipeline.py b/backend/services/pcb_pipeline.py index 9ebd92e..b66a313 100644 --- a/backend/services/pcb_pipeline.py +++ b/backend/services/pcb_pipeline.py @@ -19,6 +19,7 @@ from backend.periscopex.cad_bridge import ( write_cad_bridge, ) from backend.periscopex.finding_engine import apply_decisions +from backend.periscopex.functional_groups import build_placement_plan from backend.periscopex.graph import build_graph from backend.periscopex.models import ComponentConstraints, DesignGraph, LayoutGraph, ValidationReport from backend.periscopex.pcb_checks import assign_pcb_finding_ids, run_pcb_checks diff --git a/tests/test_pcb_review.py b/tests/test_pcb_review.py index 00dad76..bd79f1a 100644 --- a/tests/test_pcb_review.py +++ b/tests/test_pcb_review.py @@ -537,3 +537,10 @@ def test_gnd_stitch_info_when_signal_has_pour_but_no_via(): layout.vias = [LayoutVia(x=10, y=0, net="GND", drill=0.3)] assert check_pcb_gnd_stitch(graph, layout) == [] + +def test_pcb_pipeline_imports_build_placement_plan(): + import backend.services.pcb_pipeline as pcb_pipeline + from backend.periscopex.functional_groups import build_placement_plan as expected + + assert pcb_pipeline.build_placement_plan is expected +