30-second answer
doctor reports what is wrong with the installation, as the help text puts it,
before you ask.
m365-governance doctor [-h] [--root ROOT]What it prints
m365-governance doctor reading content from: the installed package
Environment
ok python 3.14.6 (needs 3.11 or later)
ok m365-governance 1.0.0b6
ok platform Darwin arm64The first line is the one to read before anything else. A clean installation
is the reference environment, so doctor states which content it is reading:
the installed package, or a directory you pointed it at.
That distinction is the source of a whole class of confusion. A rule set that works in a checkout and fails for a user is usually a checkout that was never packaged, and the header makes the difference visible instead of leaving it to be discovered.
Options
--root checks content in a directory instead of what is packaged. Use it
when developing; leave it off to check what a user would actually get.
Exit codes
0 healthy. 1 something is wrong. The report is on stdout either way, so a
failing run still tells you what it found.