  Monitorability delineates what properties can be verified at runtime.
Although many monitorability definitions exist, few are defined explicitly in
terms of the guarantees provided by monitors, i.e., the computational entities
carrying out the verification. We view monitorability as a spectrum: the fewer
monitor guarantees that are required, the more properties become monitorable.
We present a monitorability hierarchy and provide operational and syntactic
characterisations for its levels. Existing monitorability definitions are
mapped into our hierarchy, providing a unified framework that makes the
operational assumptions and guarantees of each definition explicit. This
provides a rigorous foundation that can inform design choices and correctness
claims for runtime verification tools.
