Sprint SPRINT_20260417_021_Doctor_truthful_evidence_schema_registry_runtime. IEvidenceSchemaRegistry contract, service-collection extension, registration tests. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Doctor
Container(s): stellaops-doctor-web, stellaops-doctor-scheduler Slot: 26 (web), scheduler | Port: 8080 | Consumer Group: doctor, doctor-scheduler Resource Tier: light
Purpose
The Doctor service runs diagnostic health checks across the entire Stella Ops platform. It uses a plugin architecture covering core services, databases, service graphs, integrations, security, observability, Docker, attestation (Rekor/Cosign), verification (SBOM/VEX/signature/policy), release pipelines, environment health, scanner/reachability, compliance/evidence, binary analysis, and timestamping (eIDAS). The Doctor Scheduler automates periodic diagnostic runs with trend analysis and alerting.
API Surface
doctor(via Router) — diagnostic run execution, report retrieval, timestamping dashboarddoctor-scheduler(via Router) — schedule management for periodic doctor runs, trend queries
Storage
PostgreSQL-backed report storage in the web service (ConnectionStrings:StellaOps or Database:ConnectionString). Durable Doctor scheduling and trend ownership live in the Scheduler service's DoctorJobPlugin; the deprecated standalone doctor-scheduler now remains dev/test-only and fails fast outside Development/Testing.
Background Workers
DoctorScheduleWorker(scheduler service) — executes scheduled diagnostic runs via HTTP calls to Doctor API