Doctor
Verified against commit
942a18727c(2026-09-26, DOC-2 of SPRINT_20260926_001). Re-verify by reading the evidence paths listed in the Evidence section ofarchitecture.md.
Service wiring (image, database and role, compose profile, bundle presence) is generated in the service inventory; this dossier does not restate it.
Diagnostic framework: check contracts, the check engine and plugins, the per-service
doctor-check/v1SDK, and thestella doctorCLI.
Purpose
Doctor lets every Stella Ops service report its own health, configuration and capacity in one contract, and lets operators run diagnostics from the CLI. It has no deployable of its own: the central doctor-web host was retired on 2026-08-17. Services host their own checks, Platform keeps the registry and the aggregate view the Console reads, and JobEngine schedules estate-level packs.
Quick links
- Architecture — where Doctor runs today, contracts, engine, CLI, evidence table
- Adoption guide — adding
doctor-check/v1checks to a service - Plugin hosting design and estate pack design
- Registry diagnostic checks
- Operator notes: owned-state operator surfaces, storage budget sizing, Valkey owned-state measurement
- Check articles:
docs/doctor/articles/
Source locations
| Part | Location |
|---|---|
| Contracts | src/__Libraries/StellaOps.Doctor.Contracts |
| Engine | src/__Libraries/StellaOps.Doctor |
| Per-service SDK | src/__Libraries/StellaOps.Doctor.Plugin.Abstractions, src/__Libraries/StellaOps.Doctor.Valkey |
| Plugins | src/__Libraries/StellaOps.Doctor.Plugins.*, src/Doctor/__Plugins/StellaOps.Doctor.Plugin.* |
| Remediation gate | src/__Libraries/StellaOps.Doctor.Remediation |
| Registry and aggregate (Platform) | src/Platform/StellaOps.Platform.WebService/Endpoints/DoctorCapabilityEndpoints.cs |
| CLI | src/Cli/StellaOps.Cli/Commands/DoctorCommandGroup.cs |
| Withdrawn host (frozen record) | src/__Obsoleted/Doctor/StellaOps.Doctor.WebService (PCD-73, 2026-09-27) |
Archived material
The retired host’s API reference and OpenAPI document, the 2026-03-31 runtime check index and compose baseline, and the pre-rewrite architecture are frozen under docs-archive/modules/doctor/.
