The OnStart hook previously derived the watcher's context from startCtx
via context.WithoutCancel(). While WithoutCancel strips cancellation,
using context.Background() makes the intent explicit: the watcher's
monitoring loop must outlive the fx startup phase and is controlled
solely by the cancel func called in OnStop.
Closes#53