Problem
Operator docs and runtime behavior disagree:
mpi doctor --json is documented but fails because --json is only global.
- Runbook examples place global
--db after subcommands and fail.
- Live configuration names differ between the runbook and runtime.
- Docs imply copying
.env.example is sufficient, but runtime reads process environment and has no dotenv loader.
- Doctor reports live access
ok based only on variable presence.
- The live-adapter example passes a nonexistent
SyncBatch.next_cursor.
- Phase status marks modules “done” even when they are contract-only or stubs.
Relevant code/docs
src/mailplus_intelligence/cli.py:292-400
src/mailplus_intelligence/doctor.py:38-153
src/mailplus_intelligence/live_adapter.py:33-85
src/mailplus_intelligence/sync.py:18-25
docs/quickstart.md
docs/ops-runbooks.md
docs/integration/live-mailplus-adapter.md
docs/live-adapter.md
docs/phase2-planning.md
docs/bootstrap/next-steps.md
Scope
- Choose and enforce a consistent common-option model; common flags should work in documented positions or docs must use the supported canonical order.
- Normalize live credential names across code,
.env.example, doctor, and runbooks.
- Either explicitly support dotenv loading or state that operators must export variables/process-inject them.
- Split doctor live status into
configured, reachable, authenticated, and sync-capable.
- Correct
SyncBatch examples and cursor terminology.
- Replace binary “done” claims with
fixture-complete, contract-only, integrated, and production-verified.
- Add an executable documentation smoke test for every command block in the quickstart/runbook that is expected to run in fixture mode.
Non-goals
- Do not implement live network access here.
- Do not add real credentials or hostnames to fixtures.
- Do not claim connectivity from environment-variable presence.
Acceptance criteria
Validation
bash scripts/ci/run-fast-checks.sh
# run the new docs/CLI smoke harness
mpi --help
mpi doctor --json
The PR should include captured output for the canonical quickstart path.
Parent
Part of #98.
Problem
Operator docs and runtime behavior disagree:
mpi doctor --jsonis documented but fails because--jsonis only global.--dbafter subcommands and fail..env.exampleis sufficient, but runtime reads process environment and has no dotenv loader.okbased only on variable presence.SyncBatch.next_cursor.Relevant code/docs
src/mailplus_intelligence/cli.py:292-400src/mailplus_intelligence/doctor.py:38-153src/mailplus_intelligence/live_adapter.py:33-85src/mailplus_intelligence/sync.py:18-25docs/quickstart.mddocs/ops-runbooks.mddocs/integration/live-mailplus-adapter.mddocs/live-adapter.mddocs/phase2-planning.mddocs/bootstrap/next-steps.mdScope
.env.example, doctor, and runbooks.configured,reachable,authenticated, andsync-capable.SyncBatchexamples and cursor terminology.fixture-complete,contract-only,integrated, andproduction-verified.Non-goals
Acceptance criteria
Validation
bash scripts/ci/run-fast-checks.sh # run the new docs/CLI smoke harness mpi --help mpi doctor --jsonThe PR should include captured output for the canonical quickstart path.
Parent
Part of #98.