Where each behavior belongs The GUI crosses a ROS action boundary into action servers, which compose core helpers and task stages; perception and shared beamline configuration have their own responsibilities and cross-cutting dependencies. EROBS / MODULE MAP Where each behavior belongs Find the area responsible for a feature, then follow its module into the reference. ROS ACTION GUI composition mtc_gui/ Forms, queue and viewers ros2_bridge.py → Qt Action boundaries beambot/action_servers/ Orchestrator and task servers Admission, feedback and results Execution support beambot/core/ Task parsing and batching Plan cache and lifecycle Tool-change coordination Task stages beambot/stages/ MTC task construction Shared motion helpers Per-task execution Perception & mapping beambot/vision/ camera/ · detection/ Capture, detection and TF Lookup and goal geometry beambot/mapping/ Shared beamline configuration beambot/config_loader.py + selected beamline YAML Consumed across launch, GUI, action servers, stages and perception. Selected calls are shown. VisionEngine also inherits BaseStages; these are responsibility groups. Python composition / calls ROS action boundary