Pipeline lifecycle
Yamete is the orchestrator. On start it instantiates the bus, registers every active source, registers every output as a subscriber, and observes settings changes to enable/disable sources at runtime. On stop it stops sources first, drains the bus, and tears down outputs last. The AppleSPUDevice broker's three-phase teardown (last-subscriber-releases-the-handle) is the hardest invariant in this graph; everything else is plumbing.
Yamete manages the pipeline with bootstrap() / shutdown() entry points. At bootstrap, outputs subscribe to the bus and the settings observation loop starts. On settings changes, rebuildPipeline() restarts the impact sensor pipeline and reconciles the enabled event source set. Outputs do not restart on settings changes. they read a live config snapshot on every reaction via OutputConfigProvider.
Yamete pipeline lifecycle
The sensor pipeline (ImpactFusion) only runs when at least one output is enabled AND at least one sensor source is enabled. If the user disables all outputs, fusion stops entirely and no HID/mic/CoreMotion resources are held.