# OpenRC service contract for MOUSE ports
A port may install an OpenRC service definition at `/etc/init.d/<name>`.
`<name>` must match `[a-z][a-z0-9_]*`, and exactly one definition may exist for
each name. The definition owns runtime dependencies, supervision, health, and
shutdown behaviour through normal `openrc-run` facilities.
A port must not install persistent runlevel links, invoke or depend on
`rc-update`, edit `/etc/rc.conf`, or maintain another enablement database. The
administrator enables an optional ports service only with
`enable_<name>=YES` in `/etc/rc.conf`; `cheesed` validates that assignment
against the installed definition and creates disposable runlevel membership
under `/run` on the next boot.
Services should run in the foreground under `supervise-daemon` when they need
process supervision. Runtime `service <name> start|stop|restart|reload|status`
actions never change next-boot enablement.
The `ports/mouse-echo` payload is the acceptance example. It installs the
`mouse_echo` definition and executable without runlevel state; the base image's
explicit `enable_mouse_echo=YES` policy is solely responsible for starting it.