37fb84f477
- Fix #1: Prometheus exporter always wired for metrics; OTLP is additive overlay when Exporter == ZbExporter.Otlp so /metrics + MapZbMetrics work in all modes. - Fix #2: BuildOptions throws ArgumentException when ServiceName is null/whitespace. - Fix #3: AddZbTelemetry(IHostApplicationBuilder) guard: ThrowIfNull(configure) added alongside existing ThrowIfNull(builder). - Fix #6: Contract doc adds IServiceCollection convenience overload signature. - Tests: +3 new tests (OtlpExporter still serves /metrics, empty ServiceName throws, whitespace ServiceName throws). Total: 7 passed (was 4).